image.png

    1. package com.guigu.exer;
    2. //import com.guigu.exer.StudentTest4.Student;
    3. /*
    4. * 好题、多练
    5. * 对象数组题目:
    6. */
    7. public class StudentTest {
    8. public static void main(String[] args) {
    9. // 声明Student类型的数组
    10. Student[] stus = new Student[20];
    11. for (int i = 0; i < stus.length; i++) {
    12. // 创建20个学生对象
    13. stus[i] = new Student();
    14. // 给Student对象的属性赋值
    15. stus[i].number = (i + 1);
    16. // 年级:[1,6]
    17. stus[i].state = (int) (Math.random() * 6 + 1);
    18. // 成绩:[0,100]
    19. stus[i].score = (int) (Math.random() * (101));
    20. }
    21. // 遍历学生数组
    22. // for (int i = 0; i < stus.length; i++) {
    23. // System.out.println("学号:" + stus[i].number + " 年级:" + stus[i].state + " 成绩:" + stus[i].score);
    24. // }
    25. // System.out.println();
    26. // System.out.println("*********************");
    27. // 问题一:打印3年级(state值为3的学生信息。
    28. // for (int i = 0; i < stus.length; i++) {
    29. // if (stus[i].state == 3) {
    30. // System.out.println("学号:" + stus[i].number + " 年级:" + stus [i].state + " 成绩:" + stus[i].score);
    31. // }
    32. // }
    33. // System.out.println();
    34. // System.out.println("************************");
    35. // 问题二:使用冒泡排序学生成绩排序,并遍历所学生信息
    36. for (int i = 0; i < stus.length - 1; i++) {
    37. for (int j = 0; j < stus.length - 1 -i; j++) {
    38. if (stus[j].score < stus[j + 1].score) {
    39. Student temp = stus[j];
    40. stus[j] = stus[j + 1];
    41. stus[j + 1] = temp;
    42. }
    43. }
    44. }
    45. // 遍历学生数组
    46. for (int i = 0; i < stus.length; i++) {
    47. System.out.println("学号:" + stus[i].number + " 年级:" + stus[i].state + " 成绩:" + stus[i].score);
    48. }
    49. System.out.println();
    50. System.out.println("*********************");
    51. }
    52. }
    53. class Student {
    54. // 属性
    55. int number;// 学号
    56. int state;// 年级
    57. int score;// 成绩
    58. }