设计一个给班级学生成绩排序的java程序,具体要求如下
(2)在主类中, 定义一个学生类数组sty[], 包含至少5个学生,对每个学生的姓名和分数进行赋值;//需要调用构造方法
(3)对所有 学生按照分数进行排序,并放入stu数组中;注意:如何排序,方法不定。
(4)把所有学生信息, 按照分数从高到底打印出来。
提示:创建学生数组后,还需要创建每个学生。 展开
按照题目要求编写的Java程序如下(注意 以下程序全部放在Main.java文件中)
class student{
String name;
int score;
public student(String name,int score){
this.name=name;
this.score=score;
}
String studentInfo(){
return "name="+this.name+",score="+this.score;
}
}
public class Main{
public static void main(String[] args){
student sty[]=new student[5];
sty[0]=new student("zhangsan",67);
sty[1]=new student("lisi",75);
sty[2]=new student("wangwu",57);
sty[3]=new student("zhaoliu",88);
sty[4]=new student("ruanqi",93);
student stu[]=new student[5];
for(int i=0;i<sty.length;i++){
stu[i]=sty[i];
}
for(int i=0;i<stu.length-1;i++){
for(int j=0;j<stu.length-i-1;j++){
if(stu[j].score<stu[j+1].score){
student temp=stu[j];
stu[j]=stu[j+1];
stu[j+1]=temp;
}
}
}
for(int i=0;i<stu.length;i++){
System.out.println(stu[i].studentInfo());
}
}
}
可以讲讲为什么先定义一个数组sty然后再定义数组stu再把sty里的内容放到stu里呢吗
因为题目第(3)条要求"对所有学生按照分数进行排序,并放入stu数组中",所以要定义stu数组,并把sty数组元素存入stu数组.