大吃一278 2022-12-01 12:33 采纳率: 84%
浏览 28

关于#数组排序#的问题,如何解决?

Student类定义如下,在测试类Sy3_4的主方法中,创建Student数组,表示一个班级的学生,随机给每个学生的成绩赋值(1-100之间),利用Arrays类的sort方法按学生成绩对学生排序,输出排序前和排序后的学生学号和学生成绩。参考输出结果如下。

提示:Arrays.sort(Student[] a, Comparaotr<Student> c);
可定义实现Comparator接口的类,重写compare方法(public int compare(Student a, Student b)),返回学生成绩的差值。
 class Student {
    String name;
    int id;
    int score;
    public Student() {}
    public Student(String s, int n, int a){
        name = s;
        id = n;
        score = a;
    }
    public void setName(String s) {
        name = s;
    }
    public void setScore(int a) {
        score = a;
    }
    public void setID(int n) {
        id = n;
    }
    public String getName() {
        return name;
    }
    public int getScore() {
        return score;
    }
    public int getID() {
        return id;
    }    
}

img

  • 写回答

2条回答 默认 最新

  • Huazie 全栈领域优质创作者 2022-12-01 12:45
    关注

    参考如下:

    Arrays.sort(students, new Comparator<Student>() {
        @Override
        public int compare(Student o1, Student o2) {
            return o1.score - o2.score;
        }
    });
    
    // 如果score变量是私有的,就用它的get方法【无论score是不是私有,都可】
    Arrays.sort(students, new Comparator<Student>() {
        @Override
        public int compare(Student o1, Student o2) {
            return o1.getScore() - o2.getScore();
        }
    });
    

    如有帮助,欢迎采纳哈!

    在这里插入图片描述

    本人的开源项目,欢迎star支持下!!!

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 12月1日

悬赏问题

  • ¥15 Omi框架如何兼容Vue
  • ¥15 windows api中有没有可以通过scsi设备发送离散buffer的接口,如何解决?(相关搜索:linux系统|结构体)
  • ¥15 r语言练习题,三个问题都有疑惑
  • ¥15 绝对路径都行,为什么相对路径不行
  • ¥20 ARM64架构下SSCMS部署问题
  • ¥20 请教如何让移动端的热区自适应
  • ¥30 为什么深度学习网络训练会出现训练集和测试集准确率和损失都不变的情况
  • ¥66 如何adb的情况下找打手机隐藏的文件
  • ¥15 (标签-3D|关键词-色模型)
  • ¥15 实时声纹降噪算法进行无关说话人语音抑制