Java 如何在hashmap中打印字符串变量? HashMap students=newhashmap(); 扫描仪=新的扫描仪(System.in); 整型新闻学生; 做{ System.out.print(“输入ID:”); newStudent=scanner.nextInt(); 如果(!(newStudent==0)){ 系统输出打印(“名称:”); 字符串名称=scanner.nextLine(); 学生。put(newStudent,name); scanner.nextLine(); } }而(!(newStudent==0)); System.out.println(“班级花名册”); for(Map.Entry student:students.entrySet()){ System.out.println(student.getKey()+”(“+student.getValue()+”); }
它没有在控制台上打印名称。它只在控制台上打印“1()”和“2()”。我做错了什么?如果像这样的声明,请更改Java 如何在hashmap中打印字符串变量? HashMap students=newhashmap(); 扫描仪=新的扫描仪(System.in); 整型新闻学生; 做{ System.out.print(“输入ID:”); newStudent=scanner.nextInt(); 如果(!(newStudent==0)){ 系统输出打印(“名称:”); 字符串名称=scanner.nextLine(); 学生。put(newStudent,name); scanner.nextLine(); } }而(!(newStudent==0)); System.out.println(“班级花名册”); for(Map.Entry student:students.entrySet()){ System.out.println(student.getKey()+”(“+student.getValue()+”); },java,Java,它没有在控制台上打印名称。它只在控制台上打印“1()”和“2()”。我做错了什么?如果像这样的声明,请更改 HashMap <Integer, String> students = new HashMap<>(); Scanner scanner = new Scanner(System.in); Integer newStudent; do{ System.out.print("Enter an ID: ");
HashMap <Integer, String> students = new HashMap<>();
Scanner scanner = new Scanner(System.in);
Integer newStudent;
do{
System.out.print("Enter an ID: ");
newStudent = scanner.nextInt();
if(!(newStudent == 0)){
System.out.print("Name: ");
String name = scanner.nextLine();
students.put(newStudent, name);
scanner.nextLine();
}
}while (!(newStudent == 0));
System.out.println("Class Roster: ");
for(Map.Entry <Integer, String> student : students.entrySet()){
System.out.println(student.getKey() + " (" + student.getValue() + ")");
}
第一个nextLine()
将获得一个空行(请参见dupe),第二个将获得您输入的名称,但您不会捕获其值。
if(!(newStudent == 0)){
scanner.nextLine(); // skip ID line.
System.out.print("Name: ");
String name = scanner.nextLine();
students.put(newStudent, name);
}