
package com.guigu.exer;//import com.guigu.exer.StudentTest4.Student;/* * 好题、多练 * 对象数组题目: */public class StudentTest { public static void main(String[] args) { // 声明Student类型的数组 Student[] stus = new Student[20]; for (int i = 0; i < stus.length; i++) { // 创建20个学生对象 stus[i] = new Student(); // 给Student对象的属性赋值 stus[i].number = (i + 1); // 年级:[1,6] stus[i].state = (int) (Math.random() * 6 + 1); // 成绩:[0,100] stus[i].score = (int) (Math.random() * (101)); } // 遍历学生数组// for (int i = 0; i < stus.length; i++) {// System.out.println("学号:" + stus[i].number + " 年级:" + stus[i].state + " 成绩:" + stus[i].score);// }// System.out.println();// System.out.println("*********************"); // 问题一:打印3年级(state值为3的学生信息。// for (int i = 0; i < stus.length; i++) {// if (stus[i].state == 3) {// System.out.println("学号:" + stus[i].number + " 年级:" + stus [i].state + " 成绩:" + stus[i].score);// }// }// System.out.println();// System.out.println("************************"); // 问题二:使用冒泡排序学生成绩排序,并遍历所学生信息 for (int i = 0; i < stus.length - 1; i++) { for (int j = 0; j < stus.length - 1 -i; j++) { if (stus[j].score < stus[j + 1].score) { Student temp = stus[j]; stus[j] = stus[j + 1]; stus[j + 1] = temp; } } } // 遍历学生数组 for (int i = 0; i < stus.length; i++) { System.out.println("学号:" + stus[i].number + " 年级:" + stus[i].state + " 成绩:" + stus[i].score); } System.out.println(); System.out.println("*********************"); }}class Student { // 属性 int number;// 学号 int state;// 年级 int score;// 成绩}