所以我在这里有这个程序:
ArrayList<Integer> meh = new ArrayList<Integer>();
Scanner sc = new Scanner(System.in);
System.out.print("Input 3 numbers: ");
while (sc.hasNextInt()) {
meh.add(sc.nextInt());
System.out.println("meeeeeep");
}
System.out.println("Goodbye");
输出(如果输入3个整数):
meeeeeep
meeeeeep
meeeeeep
它不会打印再见消息,也不会执行我之后的任何操作。
答案 0 :(得分:4)
那是因为扫描仪正在等待即将到来的输入。 sc.hasNextInt()
正在等待下一个标记,并确定它是否为int。
要解决此问题,请尝试逐行阅读并使用" "
String.split();
另一个解决方案可能是在for循环中执行此操作:
for (int i = 0; i < 3; ++i) {
meh.add(sc.nextInt());
System.out.println("meeeeeep");
}