[英]Scanner class is skipping lines
我是编程的新手,我的扫描仪类有问题。 这个代码处于一个循环中,当循环绕过第二个,第三个时,无论我将它设置为什么,它都会跳过第一个标题输入。 我需要帮助,为什么它在开始时跳过我的标题扫描仪输入?
System.out.println("Title:");
list[i].title=keyboard.nextLine();
System.out.println("Author:");
list[i].author=keyboard.nextLine();
System.out.println("Album:");
list[i].album=keyboard.nextLine();
System.out.println("Filename:");
list[i].filename=keyboard.nextLine();
很可能在您没有向我们展示的代码中,存在对不使用换行方法的Scanner
输入方法之一的调用。 例如nextLine
。 在这种情况下,换行符将从循环结束传递到后续的nextLine
语句。 现在这不会阻止收到输入。 解决方案是确保在每次迭代结束时消耗换行符
// list[i].id = keyboard.nextInt();
list[i].id = Integer.parseInt(keyboard.nextLine());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.