有一个学生类的结构如下: class Student { private int no; private String name; private int score; public Student(int _no, String _name, int _score) { no = _no; name = _name; score = _score; } public int getNo() {return no;} public String getName() {return name;} public int getScore() {return score;} public void print(){ System.out.println(no + " “+name+” "+score); } }
请构造main函数完成如下功能: 从键盘中读入三个学生的信息,比较他们的成绩,按照成绩由高到低排列输出
输入描述:
三个学生的学号、姓名、成绩
输出描述:
由高到低排列输出的三个学生信息
裁判测试程序样例:
/*你的代码被嵌在这里*/
class Student {
private int no;
private String name;
private int score;
public Student(int _no, String _name, int _score) {
no = _no;
name = _name;
score = _score;
}
public int getNo() {return no;}
public String getName() {return name;}
public int getScore() {return score;}
public void print(){
System.out.println(no + " "+name+" "+score);
}
}
输入样例:
在这里给出一组输入。例如:
1 wang 89
2 liu 78
3 ma 90
输出样例:
在这里给出相应的输出。例如:
3 ma 90
1 wang 89
2 liu 78
答案:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Student[] stu = new Student[3];
Student t = new Student(0,null,0);
for(int i = 0; i < 3; i ++ ) {
stu[i] = new Student(sc.nextInt(), sc.next(), sc.nextInt());
}
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
if(stu[i].getScore()>stu[j].getScore()) {
t=stu[i];
stu[i]=stu[j];
stu[j]=t;
}
for(int i = 0; i < 3; i ++)
stu[i].print();
sc.close();
}
}