java对象数组

对象数组题目:
定义类Student,包含三个属性:学号number(int),年级state(int),成绩
score(int)。 创建20个学生对象,学号为1到20,年级和成绩都由随机数确定。
问题一:打印出3年级(state值为3)的学生信息。
问题二:使用冒泡排序按学生成绩排序,并遍历所有学生信息

package com.company;

public class Student {
   private int number; // 学号
   private int state; // 年级
   private int score; // 成绩


    public int getNumber() {
        return number;
    }

    public void setNumber(int number) {
        this.number = number;
    }

    public int getState() {
        return state;
    }

    public void setState(int state) {
        this.state = state;
    }

    public int getScore() {
        return score;
    }

    public void setScore(int score) {
        this.score = score;
    }
}

package com.company;

public class Main {

    /**
     * 文档注释
     *
     * @param args
     * @lzx
     */
    public static void main(String[] args) {


        Student[] list = new Student[20]; // 对象数组
        // 自动生成数据
        for (int i = 1; i <= list.length; i++) {

            Student stu = new Student();
            stu.setNumber(i); //设置学号

            int state = (int) (Math.random() * 6 + 1);
            stu.setState(state); // 设置年级

            int score = (int) (Math.random() * 100);
            stu.setScore(score); // 设置分数0-99

            list[i - 1] = stu; // 存对象
        }

        getStundentMessage(6, list);// 打印某年级的学生信息。
        System.out.println("==========================================");
        maoPao(list); //冒泡打印

    }

    public static void getStundentMessage(int state, Student[] list) {// 打印某年级的学生信息。

        for (int i = 0; i < list.length; i++) {
            int st = list[i].getState();
            if (st == state) {
                System.out.println("学号:" + list[i].getNumber() + ",年级:" + list[i].getState() + ",分数为:" + list[i].getScore());
            }
        }
    }

    public static void maoPao(Student[] list) { //冒泡排序
        for (int i = 0; i < list.length; i++) {
            for (int j = 0; j < list.length - 1 - i; j++) {
                if (list[j].getScore() < list[j + 1].getScore()) { //分数低的交换到后面
                    Student temp = list[j];
                    list[j] = list[j + 1];
                    list[j + 1] = temp;
                }
            }
        }

        // 遍历打印
        for (int i = 0; i < list.length; i++){
            System.out.println("学号:"+list[i].getNumber() + ",年级:" + list[i].getState() + ",分数:" + list[i].getScore() );
        }

    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值