Java初学——对象数组题目练习

题目

在这里插入图片描述

代码如下

public class StudentTest{
	public static void main(String[] args) {
		Student[] students=new Student[20];
		//赋值
		for(int i=0;i<students.length;i++) {
			students[i]=new Student();
			students[i].number=i+1;
			students[i].state=(int)(Math.random()*6+1);
			students[i].score=(int) (Math.random()*101);
		}
		//遍历,查看赋值结果
		for(int i=0;i<students.length;i++) {
			System.out.println(students[i].info());
		}
		System.out.println("********************************");
		//解决问题一代码
		for(int i=0;i<students.length;i++) {
			if(students[i].state==3) {
				System.out.println(students[i].info());
			}
		}
		System.out.println("********************************");
		//解决问题二代码
		for(int i=0;i<students.length-1;i++) {
			for(int j=0;j<students.length-1-i;j++) {
				if(students[j].score>students[j+1].score) {
				//注意这里交换的不是学生的成绩students[j].score
					Student temp=students[j];
					students[j]=students[j+1];
					students[j+1]=temp;
				}
			}
		}
		//排序后遍历,对比最初遍历
		for(int i=0;i<students.length;i++) {
			System.out.println(students[i].info());
		}
		
	}
}


class Student{
	int number;
	int state;
	int score;
	
	public String info() {
		return "学号为:"+number+", 年级为:"+state+", 成绩为:"+score;
	}

}

你可能感兴趣的:(Java初学——对象数组题目练习)