gpt4 book ai didi

java - 如何正确存储到 HashMap ,然后复制到 TreeMap 以循环显示键和值

转载 作者:行者123 更新时间:2023-11-29 08:20:50 26 4
gpt4 key购买 nike

我将用户输入存储到 HashMap 中,然后使用它从中构建一个 TreeMap ,然后遍历并显示其中的键/值。相反,我只设法存储/显示输入的 2 个最新用户数据。

import java.util.Scanner;
import java.util.HashMap;
import java.util.TreeMap;
import java.util.Map;

public class Lab09 {
public static void main(String[] args) {

Scanner input = new Scanner(System.in);
int studentNbr = 0;
int scoreNbr = 0;
String name = "";

HashMap<String, Integer> students = new HashMap<String, Integer>();


System.out.println("How many students do you want to enter?");
studentNbr = input.nextInt();
input.nextLine();

System.out.println("How many scores do you want to enter for each student?");
scoreNbr = input.nextInt();
input.nextLine();

for(int i = 0; i < studentNbr; i++){
System.out.println("Enter student number " + (i+1) + " name:");
name = input.nextLine();
int j = 0;
while(j < scoreNbr){
System.out.println("Enter score " + (j+1) + " for " + name + ":");
students.put(name, input.nextInt());
input.nextLine();
j++;
}

}
Map<String, Integer> sorted = new TreeMap<String, Integer>(students);
for (String i : sorted.keySet()) {
System.out.println("key: " + i + " value: " + sorted.get(i));
}

}
}

我希望能够显示所有键/值,但只收到 2 行显示最近的用户输入,而不是用户输入的所有数据。

最佳答案

如果 'key' 相同,Java 中的 HashMap 将用新的 'value' 替换以前的 'value'。您可以使用学生姓名和分数 ID 为“学生”映射创建复合键。例如

  students.put(name+'-'+j, input.nextInt());

关于java - 如何正确存储到 HashMap ,然后复制到 TreeMap 以循环显示键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58722199/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com