| package experiment5.exp4; |
| |
| import java.util.*; |
| |
| |
| public class SortStudentScores { |
| public static void main(String[] args) { |
| Set<Student> set = new HashSet<>(); |
| Scanner sc = new Scanner(System.in); |
| System.out.println("请输入学生的姓名和成绩,当输入为负数是结束输入"); |
| String name; |
| int score; |
| int i = 1; |
| |
| while (true) { |
| Student tmp = new Student(); |
| System.out.println("请输入第" + i + "位学生的姓名:"); |
| name = sc.nextLine(); |
| tmp.setName(name); |
| System.out.println("请输入第" + i++ + "位学生的成绩:(输入负数,结束输入)"); |
| score = Integer.parseInt(sc.nextLine()); |
| if (score < 0) break; |
| tmp.setScore(score); |
| |
| |
| set.add(tmp); |
| } |
| List<Student> list = new ArrayList<>(); |
| for (Student x : set) { |
| list.add(x); |
| } |
| Collections.sort(list); |
| System.out.println("您输入的成绩生成成绩单结果:"); |
| for(Student x:list){ |
| System.out.println(x); |
| } |
| System.out.println("前三名学生的姓名为:"); |
| Iterator<Student> it=list.iterator(); |
| for(int j = 0;j<3&&it.hasNext();j++){ |
| System.out.println(it.next()); |
| } |
| |
| } |
| } |
| |
| class Student implements Comparable<Student> { |
| String name; |
| int score; |
| |
| public void setName(String name) { |
| this.name = name; |
| } |
| |
| public void setScore(int score) { |
| this.score = score; |
| } |
| |
| @Override |
| public boolean equals(Object o) { |
| if (this == o) return true; |
| if (o == null || getClass() != o.getClass()) return false; |
| Student student = (Student) o; |
| return score == student.score && |
| Objects.equals(name, student.name); |
| } |
| |
| @Override |
| public int hashCode() { |
| return Objects.hash(name, score); |
| } |
| |
| |
| @Override |
| public int compareTo(Student o) { |
| return o.score - this.score; |
| } |
| |
| @Override |
| public String toString() { |
| return name + "--->" + score; |
| } |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了