4、设计一个类Student,该类包括姓名、学号和成绩。设计一个方法,按照成绩从高到低的顺序输出姓名、学号和成绩信息。[选做题]
publicclassStudent {
privateintid;//学号
privateString name;//姓名
privateintscore;//成绩
publicStudent(intid, String name, intscore) {
super();
this.id = id;
this.name = name;
this.score = score;
}
publicintgetId() {
returnid;
}
publicvoidsetId(intid) {
this.id = id;
}
publicString getName() {
returnname;
}
publicvoidsetName(String name) {
this.name = name;
}
publicintgetScore() {
returnscore;
}
publicvoidsetScore(intscore) {
this.score = score;
}
@Override
publicString toString() {
return(id + " "+ name + " "+ score);
}
}
importjava.util.Arrays;
publicclassTestStudent {
staticStudent[] stus;
publicstaticvoidsort(Student[] stus){
intlen = stus.length;//学生个数
int[] a = newint[len];
//记录分数
for(inti = 0; i < len; i++) {
a[i] = stus[i].getScore();
}
Arrays.sort(a);//升序排序
for(inti = a.length - 1; i >= 0; i--) {
for(intj = 0; j < stus.length; j++) {
if(stus[j].getScore() == a[i]){
System.out.println(stus[j]);
}
}
}
}
publicstaticvoidmain(String[] args) {
stus = newStudent[3];
stus[0] = newStudent(1,"a",87);
stus[1] = newStudent(2,"b",78);
stus[2] = newStudent(3,"c",99);
System.out.println("按分数从高到低排序:");
sort(stus);
}
}