我在 Ubuntu 上使用 NetBeans 8.2。有没有办法让 s.hasNextDouble() 使用键盘输入返回 false,从而执行代码的最后一行,而无需更改代码? 此代码片段计算输入数字的平均值。
double sum = 0;
int n = 0;
Scanner s = new Scanner(System.in);
System.out.print("Enter 1 number: ");
while (s.hasNextDouble()) {
double number = s.nextDouble();
sum += number;
n++;
System.out.print("Enter " + (n + 1) + " number: ");
}
System.out.println();
if (n == 0) {
System.out.println("Error!!!");
} else {
System.out.println("Average: " + sum / n);
}
最佳答案
hasNextDouble
如果下一个标记无法解释为 double
,则返回 false
,因此您可以通过输入非数字的内容来打破该循环。这可以是诸如 x
、abc
或 !
之类的任何内容。
运行该程序的示例如下:
Enter 1 number: 3
Enter 2 number: 6
Enter 3 number: x
Average: 4.5
Process finished with exit code 0
您可以将消息更改为:
System.out.print("Enter " + (n + 1) + " number, or anything else to end: ");
关于java - Java中如何停止输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51232254/