提问人:Cao Huu Khanh 提问时间:1/29/2023 最后编辑:AntoineBCao Huu Khanh 更新时间:1/29/2023 访问量:35
扫描仪自动将第一个输入分配给空字符串,这是为什么?
Scanner automatically assigned first input to an empty string, why is that?
问:
我是一个初学者,所以如果我犯了一个明显的错误,请原谅我。我试图通过扫描器从用户那里获取输入来创建学生列表的 HashMap,但不知何故,扫描器跳过了第一个键并自动将其分配给空字符串?这是我的详细代码:
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner inputvalue = new Scanner(System.in);
HashMap<Integer, String> studentName = new HashMap<Integer, String>();
String student;
int counter = 1;
int classSize;
System.out.println("Enter class size: ");
classSize = inputvalue.nextInt();
do {
System.out.println("Enter " + counter + " student name: ");
student = inputvalue.nextLine();
studentName.put(counter, student);
counter++;
} while(counter <= classSize);
System.out.println(studentName);
}
我尝试改用 for 循环,但它也不起作用。请向我详细说明是什么让扫描仪跳过第一个键以及如何修复此错误。提前非常感谢你
答: 暂无答案
评论