冒泡排序按学生成绩排序

/*
1)定义类Student,包含三个属性:学号number(int),年级state(int),成绩score(int)。
2)创建20个学生对象,学号为1到20,年级和成绩都由随机数确定。
问题一:打印出3年级(state值为3)的学生信息.。
问题二:使用冒泡排序按学生成绩排序,并遍历所有学生信息提示:
1)生成随机数。Math.random(),返回值类型double;
2)四舍五入取整:Math.round(double d),返回值类型long。年级: (int)(Math.random() * 6 +1)
分数[0,100] : (int)(Math.random() * 101)
*/
import javax.rmi.CORBA.Util;
import java.util.Scanner;

/**
 * @author 张~
 * @version 1.0
 */
public class learn {
    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++) {
            if (3 == students[i].state) {
                Student stu = students[i];
                System.out.println("三年级信息" + stu.toString());
            }
        }
        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) {
                    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].toString());
        }
    }
}
class Student {
    int number;
    int state;
    int score;
    @Override
    public String toString() {
        return "Student{" +
                "number=" + number +
                ", state=" + state +
                ", score=" + score +
                '}';
    }
}

记录代码 仅保存学习交流 提升自我中...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我会为您解答这两个问题。 问题一:打印出3年级(state值为3)的学生信息。 ```java import java.util.Random; public class Student { private int number; private int state; private int score; public Student(int number, int state, int score) { this.number = number; this.state = state; this.score = score; } public int getNumber() { return number; } public int getState() { return state; } public int getScore() { return score; } public static void main(String[] args) { // 创建20个学生对象 Student[] students = new Student[20]; Random random = new Random(); for (int i = 0; i < 20; i++) { students[i] = new Student(i + 1, random.nextInt(6) + 1, random.nextInt(101)); } // 打印出3年级的学生信息 System.out.println("3年级的学生信息如下:"); for (int i = 0; i < 20; i++) { if (students[i].getState() == 3) { System.out.println("学号:" + students[i].getNumber() + ",年级:" + students[i].getState() + ",成绩:" + students[i].getScore()); } } } } ``` 问题二:使用冒泡排序学生成绩排序,并遍历所有学生信息 ```java import java.util.Random; public class Student { private int number; private int state; private int score; public Student(int number, int state, int score) { this.number = number; this.state = state; this.score = score; } public int getNumber() { return number; } public int getState() { return state; } public int getScore() { return score; } public static void main(String[] args) { // 创建20个学生对象 Student[] students = new Student[20]; Random random = new Random(); for (int i = 0; i < 20; i++) { students[i] = new Student(i + 1, random.nextInt(6) + 1, random.nextInt(101)); } // 使用冒泡排序学生成绩排序 for (int i = 0; i < 19; i++) { for (int j = 0; j < 19 - i; j++) { if (students[j].getScore() > students[j + 1].getScore()) { Student temp = students[j]; students[j] = students[j + 1]; students[j + 1] = temp; } } } // 遍历所有学生信息 System.out.println("所有学生信息如下:"); for (int i = 0; i < 20; i++) { System.out.println("学号:" + students[i].getNumber() + ",年级:" + students[i].getState() + ",成绩:" + students[i].getScore()); } } } ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值