程序应该在用户的单个输入中接收四个整数(例如1 2 3 42)。我正在尝试编写一些代码来检查输入是否都是整数。
然而,即使输入类似于1 2 a b,它也不会进入while循环,我无法弄清楚原因。任何帮助将不胜感激。
Scanner scan = new Scanner(System.in);
System.out.print("Please list at least one and up to 10 integers: ");
scan.hasNextInt();
while(!scan.hasNextInt())
{
System.out.println("One or more of your inputs was not an integer. Please input only integers: ");
scan.next();
}
答案 0 :(得分:1)
您通过int
阅读下一个Scanner
来取得进展。
使用以下代码尝试输入1 a b
:
scan.hasNextInt();
scan.nextInt(); // or scan.next() to read next integer
while(!scan.hasNextInt())
{
System.out.println("One or more of your inputs was not an integer. Please input only integers: ");
scan.next();
}
它将打印:
您的一个或多个输入不是整数。请输入 整数:
仅限整数:您的一个或多个输入不是整数。请输入