利用ArrayList来存储Student对象,一个学生对象包括姓名和成绩两个属性。定义Student类,包括姓名和成绩两个属性,并定义一个方法compareTo,比较两个学生的成绩,覆盖toString方法。在测试类中实现:接收学生的总数,然后创建Student对象,放入ArrayList,要求按成绩由小到大的顺序存放,最后循环输出每个学生的信息
1条回答 默认 最新
- 笑死鱼啦 2022-05-29 19:17关注
答题不易, 有帮助的话希望点下采纳~
完成效果:代码:
import java.util.Comparator; public class Student implements Comparable{ https://img-mid.csdnimg.cn/release/static/image/mid/ask/509410328356192.png "#left") //定义Student类,包括姓名和成绩两个属性,并定义一个方法compareTo,比较两个学生的成绩,覆盖toString方法。 //1.定义姓名和成绩两个属性 private String name; private Integer score; public Student(String name, Integer score) { this.name = name; this.score = score; } //2.实现Comparable接口, 并实现compareTo方法, 降序 @Override public int compareTo(Object o) { Student stu =(Student) o; //降序 return stu.getScore()-this.getScore(); //升序 // return this.getScore()-stu.getScore(); } //3.私有属性,添加set get方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getScore() { return score; } public void setScore(Integer score) { this.score = score; } //4..重写toString方法 @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", score=" + score + '}'; } }
import java.util.ArrayList; import java.util.Collections; public class Test { public static void main(String[] args) { //创建ArrayList集合 ArrayList<Student> list = new ArrayList<>(); //添加学生对象 Collections.addAll(list,new Student("张三",90),new Student("李四",87),new Student("王五",64) ,new Student("赵六",98)); //使用student的排序逻辑进行排序 Collections.sort(list); //循环打印集合 for (Student stu : list) { System.out.println(stu); } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 宇视监控服务器无法登录
- ¥15 PADS Logic 原理图
- ¥15 PADS Logic 图标
- ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
- ¥15 DruidDataSource一直closing
- ¥20 气象站点数据求取中~
- ¥15 如何获取APP内弹出的网址链接
- ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
- ¥50 STM32单片机传感器读取错误
- ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据