问题描述
定义Student类,包含三个属性:学号number(int),年纪state(int),成绩score(int);创建20个学生对象,学号为1~20,年纪和成绩都由随机数确定。
要求:
(1)打印学生信息
(2)使用冒泡排序,对学生成绩进行排序,然后遍历学生信息
代码解决
public class StudentTest {
public static void main(String[] args) {
Student[] arr = new Student[20];//创建数组
//数组的每一个元素赋值
for(int i=0;i<20;i++) {
Student s = new Student();
s.number = i+1;
s.state = (int)(Math.random()*6+1);
s.score = (int)(Math.random()*41+60);
arr[i] = s;
}
StudentTest st = new StudentTest();
st.printInfo(arr);
st.bubbleSort(arr);
st.printInfo(arr);
}
//封装一个方法:实现打印操作
public void printInfo(Student[] arr) {
for(int i=0;i<arr.length;i++) {
System.out.println("学号:"+arr[i].number+" 年纪:"+arr[i].state+" 成绩:"+arr[i].score);
}
}
//封装一个方法:实现冒泡排序
public void bubbleSort(Student[] arr) {
for(int i=0;i<arr.length-1;i++) {
for(int j=0;j<arr.length-1-i;j++) {
if(arr[j].score<arr[j+1].score) {
Student temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
}
//创建Student类
class Student{
int number;
int state;
int score;
}
内存解析