- 1、设计一个类Student,该类包括姓名、学号和成绩。设计一个方法,按照成绩从高到低的顺序输出姓名、学号和成绩信息。
public class Student {
public static void main(String[] args) {
Student [] num =new Student [3]; //创建一个一维数组
num[0] = new Student ("scc",112,123); //为一维数组赋值
num[1] = new Student ("sca",2018,1234);
num[2] = new Student ("scb",2019,1235);
// Student temp = new Student (); //两种调用方法,使用这一种,需要在写一个无参的构造方法。一般都用下面的方法。
// temp.swap(num);
Student .swap(num); //类名.方法名
for(Student stu : num){ //foreach循环,for(元素类型t 元素变量x : 遍历对象obj)
stu.show();
}
}
private String name;
private int number;
private int score;
// public String getName() {
// return name;
// }
// public void setName(String name) {
// this.name = name;
// }
// public int getId() {
// return number;
// }
// public void setId(int id) {
// this.number = number;
// }
// public int getScore() {
// return score;
// }
// public void setScore(int score) {
// this.score = score;
// }
public Student (){
}
public Student (String name,int number,int score){
//super();
this.name = name;
this.number = number;
this.score = score;
}
public void show(){
System.out.println("姓名:" + name + "学号: " + number + "成绩" + score);
}
public static void swap(Student [] stus){
//String temp; //这样定义的错误,是因为,在下面交换的是stus[j],而stus是StudentTrue来定义的所以,如下定义
Student temp;
for(int i = 0;i < stus.length-1;i++){
for(int j = 0;j < stus.length - i - 1;j++){
if(stus[j].score > stus[j + 1].score){
temp = stus[j]; //整个数组都变换,而不是仅仅变换成绩
stus[j + 1] = stus[j];
stus[j] = temp;
}
}
}
}
}