一道Java编程题,求各位大神,告知我该怎么写
1.定义一个Student类,包括学号,姓名,成绩三个字段,生成get,set和toString方法,实现Comparable接口,重写toCompare方法,方法里就是本题的逻辑,先按成绩比较,再按学好比较,使用TreeSet不实现这个接口会报错。
package Collection;public class Student implements Comparable {private long sno;private String name;private int score;public long getSno() {return sno;}public void setSno(long sno) {this.sno = sno;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getScore() {return score;}public void setScore(int score) {this.score = score;}@Overridepublic int compareTo(Student o) {// TODO Auto-generated method stubif (this.score o.score) {return -1;} else {if(this.sno<o.sno) {return 1;}else {return -1;}}}@Overridepublic String toString() {return "Student [sno=" + sno + ", name=" + name + ", score=" + score + "]";}}2.然后写测试类,生成十个学生,然后插入treeset,直接遍历输出就是排序好的结果。
package Collection;import java.util.Random;import java.util.TreeSet;public class TreeSetTest {public static void main(String[] args) {TreeSet ts=new TreeSet();for(int i=0;i<10;i++) {Student stu=new Student();stu.setName("student"+i);stu.setSno(170201+i);stu.setScore(90+new Random().nextInt(10));ts.add(stu);}for(Student stu:ts) {System.out.println(stu);}}}最后贴一个运行结果
有意愿私信看个人主页联系方式
分别用了普通的直接main方法和构造方法产生实例来实现,原理是一样的。
package javaexc;
public class Score {
public static void main(String[] args) {
// 定义存储分数数组
int score[][]=new int[20][5];
//总分
int sumscore=0;
//存储总分的一维数组
int sumscores[]=new int[20];
//平均分
int avescore=0;
System.out.print("core C++"+"coreJava"+"Servlet"+"JSP"+"EJB"+"sumscores");
System.out.println();
for(int i=0;i<20;i++){
for(int j=0;j<5;j++){
//用双层循环给数组赋值,random是产生0~1之间的小数,不包括0和1,乘100再加1就是1~101,向下取整数,正好是1到100
score[i][j]=(int) Math.floor(100*Math.random()+1);
System.out.print(score[i][j]+"");
//总分累加,在行数相同时
sumscore+=score[i][j];
//把总分赋给存储数组
sumscores[i]=sumscore;
//求平均分,就是竖列相同时,累加,这里取的是j=0,c++课程的平均成绩
if(j==0)
avescore+=score[i][j];
}
System.out.print(sumscores[i]);
//这里要把sumscore清零,再次进入循环时不会加前一行的分数
sumscore=0;
System.out.println();
}
System.out.println("平均分:"+avescore);
}
}
package javaexc;
public class ScoreTest {
int score[][]=new int[20][5];
int sumscore=0;
int sumscores[]=new int[20];
int avescore=0;
//构造方法。
public ScoreTest(){}
//给二维数组赋值并且打印的方法
public void printscore(){
for(int i=0;i<20;i++){
for(int j=0;j<5;j++){
score[i][j]=(int) Math.floor(100*Math.random()+1);
System.out.print(score[i][j]+"");
}
System.out.println();
}
}
//求总成绩的方法
public void Sumscore(){
System.out.println("总分:");
for(int i=0;i<20;i++){
for(int j=0;j<5;j++){
sumscore+=score[i][j];
sumscores[i]=sumscore;
}
System.out.print(sumscores[i]);
sumscore=0;
System.out.println();
}
}
//求平均成绩的方法,这里带了参数n,n=0,1,2,3,4分别表示不同课程。
public void Avescore(int n){
for(int i=0;i<20;i++){
for(int j=0;j<5;j++){
if(j==n)
avescore+=score[i][j];
}
}
System.out.println("平均分:"+avescore);
}
public static void main(String[] args) {
// 用构造方法产生实例ST
ScoreTest ST=new ScoreTest();
System.out.print("core C++"+"coreJava"+"Servlet"+"JSP"+"EJB");
System.out.println();
//ST分别调用赋值,求总成绩,求平均成绩的方法。
ST.printscore();
ST.Sumscore();
ST.Avescore(3);
}
}
要帮你写吗?
用Java写,这道题,计算机编程
代码:public class Number { public static void main(String[] args) { \/\/ 正整数 long num = 1205; \/\/ 转换成字符串 String nString = num + ""; \/\/ 转换成字符数组 char[] charArray = nString.toCharArray(); \/\/ 0的个数 int count = 0; \/\/ 遍...
一道Java编程题,求各位大神,告知我该怎么写
分别用了普通的直接main方法和构造方法产生实例来实现,原理是一样的。package javaexc;public class Score { public static void main(String[] args) { \/\/ 定义存储分数数组 int score[][]=new int[20][5]; \/\/总分 int sumscore=0; \/\/存储总分的一维数组 int sumscores[]=new ...
请广大网友帮我一下这道Java题目,感激不尽!!在线等,挺急的。。
import java.util.Scanner;public class Account { \/\/私有化变量 private double balance;\/\/get方法 public double getBalance() { return balance;} \/\/set方法 public void setBalance(double balance) { this.balance = balance;} public double deposit(int b){ this.balance=b+this.balance;return...
JAVA编程题
}第一题 import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectOutputStream;import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class OutputStudent { \/**功能:作者 ss Nov 2, 20102:15:39 PM param args \/ public static void main(...
JAVA 编程题目
public class Rectangle implements Comparable { double length;double width;public Rectangle() {\/\/ 此构造方法无参数,缺省的给出长(20)和宽(10)length = 20;width = 10;} public Rectangle(double length, double width) {\/\/ 此构造方法给出长和宽 this.length = length;this.width = width;...
请JAVA高手帮我编3道小题 高分。。
第一题 import java.util.Scanner;public class Test99 { public static void main(String[] args) { System.out.println("请输入一个数字");Scanner sc = new Scanner(System.in);String s = sc.nextLine();\/\/ 获取输入的字符串 int i = Integer.parseInt(s);\/\/将字符串转化为数字 System...
一道Java编程题,拜托了各位大神
}else {return -1;}}}@Overridepublic String toString() {return "Student [sno=" + sno + ", name=" + name + ", score=" + score + "]";}}2.然后写测试类,生成十个学生,然后插入treeset,直接遍历输出就是排序好的结果。package Collection;import java.util.Random;import java....
用JAVA编程一道小题
\/\/这是我自己写的一个拼图游戏,还没有完善,你自己看着改吧 import java.awt.BorderLayout;import java.awt.Color;import java.awt.EventQueue;import java.awt.Font;import java.awt.event.ComponentAdapter;import java.awt.event.ComponentEvent;import java.awt.event.KeyEvent;import java.awt.event....
java简单编程题,有追加分
第二题,需要的test11.html文件内容如下: Test11 demo 然后使用appletviewer test11.html浏览小应用程序(在浏览器中可能不能正常运行)。java代码如下:import java.applet.Applet;import java.awt.Graphics;import java.awt.Label;public class Test11 extends Applet{ \/\/定义文字所在位置与顶...
这道java题有人会吗?
1.学生类 2.课程类 3.测试类 4.测试结果 5总结:输入的是数据类型不能出错 比如说课程数量如果输入的是个字母不是数字 就会出错。代码有不懂的地方可以追加问题,都是我一个一个代码敲出来的,给个赞呗。
欧阳爸申达: 实现如下:public static void main(String[] args) { //使用TreeSet集合自带排序,排序规则由Comparator中的compare方法确定 TreeSet<Student> set = new TreeSet<>(new Comparator<Student>() { @Override public int compare(Student o1, ...
上思县18015953346: 跪求大佬解答一道Java编程题!!! - ?
欧阳爸申达: 参考代码 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class JSFrame extends Frame implements ActionListener { //本类继承于Frame,实现ActionListener TextField tf1, tf2, tf3, tf4; public JSFrame() { Panel jp = new Panel(...
上思县18015953346: 一道Java编程题,求大神告知代码怎么写. - ?
欧阳爸申达: Scanner input=new Scanner(System.in); double [] scores=new double[10]; double avg=0;//平均成绩 double sum=0;//总分 int passNum=0;//及格人数 int prefectNum=0;//90分人数 System.out.println("请输入10位学生成绩:"); for (int i = 0;...
上思县18015953346: 这是一个JAVA编程题目,求大神解答 - ?
欧阳爸申达: 用二维数组肯定没什么难度了 a[i][j] = i * j 即可把结果存到数组中.需要数组大小为81 一维数组存储也很简单.数组大小为45 把数据结果存进去,按照楼上的方法就能将乘法表里的各个结果从上到下依次存进去.既然存储肯定是用来查找的,比如2*3,怎么找到它的结果呢,在乘法表上2*3的位置在第三行第2个位置,计算第一行和第二行的所有结果个数是个等差数列3(3-1)/2,再加2就是所求结果所在的位置,i * j的位置在 result[j*(j-1)/2+i-1].也许你觉得用乘除法来计算乘法表结果的位置有点搞笑,如果存储的是复杂数据的话就有用了 说了半天,其实跟散列表差不多啦
上思县18015953346: 一道java 编程练习题,谁帮帮忙啊? - ?
欧阳爸申达: public static void main(String[] args) { int rand = 1000; //随机数最大值 int[][] array = new int[10][10]; //长度为10*10的二维数组 Set<Integer> set = new HashSet<Integer>(); while(true){ if(set.size()==100) break; set.add((int)(Math.random()*rand)); } ...
上思县18015953346: 一道JAVA编程题 求大神指教啊!急求! - ?
欧阳爸申达: import java.util.Scanner; public class Grade { String sno; String cno; int ps; int dzy; int qmks; String zp; /** * @param args */ public void showInfo(){ this.toString(); } public String toString(){ String s=""; s+="学号:\t"+sno+"\r\n"; s+=...
上思县18015953346: 一道JAVA题,求编程高手 - ?
欧阳爸申达: 输入不出错的时候没问题,可以正常结束,输入不是数字的时候,会出现死循环,看红框部分重新赋值就可以了...
上思县18015953346: 一道java编程题 求助 - ?
欧阳爸申达: public static Object max(Object[] a){ Object[] b = (Object[]) a.clone(); Arrays.sort(b); return b[b.length -1]; }
上思县18015953346: 一道Java编程题,求各位大神,告知我该怎么写 - ?
欧阳爸申达: 分别用了普通的直接main方法和构造方法产生实例来实现,原理是一样的. package javaexc; public class Score {public static void main(String[] args) {// 定义存储分数数组int score[][]=new int[20][5];//总分int sumscore=0;//存储总分的一...
上思县18015953346: 有一道Java编写程序的题求大神解答,万分感谢. - ?
欧阳爸申达: public class Student { private String id; private String name; public Student(String id, String name) { super(); this.id = id; this.name = name; } public String getId() { return id; } public String getName() { return name; } public void disp() { System.out....