7-2 容器-HashMap-排序 分数 10 作者 蔡轲 单位 南昌航空大学 输入多个学生的成绩信息,包括:学号、姓名、成绩。 学号是每个学生的唯一识别号,互不相同。 姓名可能会存在重复。 要求:使用HashMap存储学生信息。 输入格式: 输入多个学生的成绩信息,每个学生的成绩信息格式:学号+英文空格+姓名+英文空格+成绩 以“end”为输入结束标志 输出格式: 按学号从大到小的顺序输出所有学生信息,每个学生信息的输出格式:学号+英文空格+姓名+英文空格+成绩

时间: 2024-03-14 07:45:04 浏览: 38
好的,我理解了你的问题。看起来你需要一个程序来接收并存储多个学生的成绩信息,并按照学号从大到小的顺序输出所有学生信息,对吗?我可以提供一个Java程序来实现这个功能。以下是程序代码: ```java import java.util.*; class Student implements Comparable<Student> { private String id; private String name; private int score; public Student(String id, String name, int score) { this.id = id; this.name = name; this.score = score; } public String getId() { return id; } public String getName() { return name; } public int getScore() { return score; } @Override public int compareTo(Student o) { return o.getId().compareTo(this.getId()); } @Override public String toString() { return id + " " + name + " " + score; } } public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Map<String, Student> map = new HashMap<>(); while (true) { String input = scanner.nextLine(); if (input.equals("end")) { break; } String[] tokens = input.split(" "); String id = tokens[0]; String name = tokens[1]; int score = Integer.parseInt(tokens[2]); Student student = new Student(id, name, score); map.put(id, student); } List<Student> students = new ArrayList<>(map.values()); Collections.sort(students); for (Student student : students) { System.out.println(student); } } } ``` 程序首先定义了一个`Student`类,用来存储每个学生的信息。`Student`类实现了`Comparable`接口,以便可以按照学号从大到小排序。然后,在`Main`类中,程序使用`Scanner`类来读取用户输入,并将每个学生的信息存储在一个`HashMap`对象中。然后,程序将所有学生的信息存储在一个`ArrayList`对象中,并使用`Collections.sort()`方法按照学号从大到小排序。最后,程序遍历`ArrayList`对象,并按照题目要求输出每个学生的信息。 请注意,程序假定输入数据的格式是正确的,如果输入数据格式不正确,程序可能会抛出异常。另外,程序的输出格式必须与题目要求完全一致,否则可能会导致测试不通过。

相关推荐

最新推荐

recommend-type

(001)HashMap之链表转红黑树-treefyBin方法.docx

详细解读了HashMap中链表转红黑树的treefyBin方法,该方法中涉及到的诸如:replacementTreeNode方法、treeify方法、comparableClassFor方法、compareComparables方法、tieBreakOrder方法、balanceInsertion方法、...
recommend-type

智慧物流医药物流落地解决方案qytp.pptx

智慧物流医药物流落地解决方案qytp.pptx
recommend-type

JAVA物业管理系统设计与实现.zip

JAVA物业管理系统设计与实现
recommend-type

基于java的聊天系统的设计于实现.zip

基于java的聊天系统的设计于实现
recommend-type

Vue数字孪生可视化建模系统源码.zip

vueVue数字孪生可视化建模系统源码.zip vueVue数字孪生可视化建模系统源码.zipvueVue数字孪生可视化建模系统源码.zipvueVue数字孪生可视化建模系统源码.zipvueVue数字孪生可视化建模系统源码.zipvueVue数字孪生可视化建模系统源码.zipvueVue数字孪生可视化建模系统源码.zipvueVue数字孪生可视化建模系统源码.zipvueVue数字孪生可视化建模系统源码.zipvueVue数字孪生可视化建模系统源码.zipvueVue数字孪生可视化建模系统源码.zipvueVue数字孪生可视化建模系统源码.zipvueVue数字孪生可视化建模系统源码.zip
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

解释minorization-maximization (MM) algorithm,并给出matlab代码编写的例子

Minorization-maximization (MM) algorithm是一种常用的优化算法,用于求解非凸问题或含有约束的优化问题。该算法的基本思想是通过构造一个凸下界函数来逼近原问题,然后通过求解凸下界函数的最优解来逼近原问题的最优解。具体步骤如下: 1. 初始化参数 $\theta_0$,设 $k=0$; 2. 构造一个凸下界函数 $Q(\theta|\theta_k)$,使其满足 $Q(\theta_k|\theta_k)=f(\theta_k)$; 3. 求解 $Q(\theta|\theta_k)$ 的最优值 $\theta_{k+1}=\arg\min_\theta Q(
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。