Java 终止用户输入确定的扫描仪?
我想知道是否有人能解释为什么扫描仪一直在等待输入?在代码块执行之前,我必须停止eclipse上的进程,我不确定扫描仪为什么会整天保持输入。我希望在输入X数量的数字后,按enter键并执行代码Java 终止用户输入确定的扫描仪?,java,input,java.util.scanner,Java,Input,Java.util.scanner,我想知道是否有人能解释为什么扫描仪一直在等待输入?在代码块执行之前,我必须停止eclipse上的进程,我不确定扫描仪为什么会整天保持输入。我希望在输入X数量的数字后,按enter键并执行代码 public static void main(String[] args){ Scanner aScanner = new Scanner(System.in); int sum = 0; System.out.println("Enter Ints : ");
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);
}
如果您希望程序只接受X个数字,那么可以使用一个计数器,在执行X次之后中断while循环。或者,您也可以使用for循环来简化操作
您还可以在eclipse中使用Ctrl+Z来阻止console等待输入。解决此问题的最简单方法是:
- 通过组合Ctrl+z(如果我没有错的话,在UNIX中输入Ctrl+d)输入“文件结束”标记
循环,而循环:
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
时,输入将完成,当然您可以更改此值
注意:
- 如果您希望输入任何整数(包括负数和外显值),则最后一种方法将不起作用