Я сохраняю пользовательский ввод в хэш-карту, затем использую его для построения из него 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 строки, отображающие самый последний пользовательский ввод вместо всех данных, введенных пользователем.