我想知道是否有人可以解释为什么扫描仪会一直等待输入?我必须在代码块执行之前停止eclipse上的进程,我不确定扫描程序为什么一整天都在继续输入。我希望在输入X数量后按Enter键并执行代码。
public static void main(String[] args){
Scanner aScanner = new Scanner(System.in);
int sum = 0;
System.out.println("Enter Ints : ");
while(aScanner.hasNextInt()){
sum += aScanner.nextInt();
}
System.out.println(sum);
}
答案 0 :(得分:0)
如果你想让程序只取X个数字,你可以有一个计数器并在执行X次后打破while循环。或者,您也可以使用for循环来简化操作。
你也可以在eclipse中使用Ctrl + Z来阻止控制台等待输入。
答案 1 :(得分:0)
最简单解决方法是:
另一种方法是使用centinel值tu完成while
循环:
Scanner aScanner = new Scanner(System.in);
int sum = 0, input = 0;
System.out.println("Enter Ints (-999 to finish input): ");
while ((input = aScanner.nextInt()) != -999) {
sum += input;
}
System.out.println(sum);
因此当用户输入-999
时输入将完成,当然您可以更改此值。
注意:强>