定义类Student,包含三个属性:学号number(int),年级state(int),成绩score(int)。
创建20个学生对象,学号为1到20,年级和成绩都由随机数确定。
问题一:打印出3年级(state值为3)的学生信息。
问题二:使用冒泡排序按学生成绩排序,并遍历所有学生信息
提示:
生成随机数:Math.random(),返回值类型double;
Student类
public class Student {
int number;
int state;
int grade;
@Override //重写toString方法,
public String toString() {
return "Student{" +
"number=" + number +
", state=" + state +
", grade=" + grade +
'}';
}
}
StudentTest测试类:
public class Test {
public static void main(String[] args) {
Student[] student=new Student[20];
for (int i = 0; i < student.length; i++) {
student[i]=new Student();
student[i].number=i+1;
//通过Math.random方法获取一个0-1之间的随机数,再通过转化为int类型的数据
student[i].state=(int)(Math.random()*10/4+1);
student[i].grade=(int)(Math.random()*100);
}
System.out.println("==============全部学生================");
for (int i = 0; i < student.length; i++) {
System.out.println(student[i]);
}
System.out.println("==============班级为三=================");
for (int i = 0; i < student.length; i++) {
if (student[i].state==3){
System.out.println(student[i]);
}
}
System.out.println("===============升序排序================");
for (int i = 0; i < student.length-1; i++) {
for (int j = 0; j < student.length-1-i; j++) {
if (student[j].grade>student[j+1].grade){
//换序
//此时数组里存储的为Student的对象,所以换序必须
//使用Student对象进行交换,他们交换的是地址值
Student temp=student[j];
student[j]=student[j+1];
student[j+1]=temp;
}
}
}
for (int i = 0; i < student.length; i++) {
System.out.println(student[i]);
}
}
}