java - Java中如何停止输入

标签 java input netbeans numbers java.util.scanner

我在 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,因此您可以通过输入非数字的内容来打破该循环。这可以是诸如 xabc! 之类的任何内容。

运行该程序的示例如下:

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/

相关文章:

java - 从源代码构建 OpenJDK 库?

java - Android Activity 生命周期 --- 如何在重新启动 Activity 时重置变量?

java - 在 NetBeans 中创建类库

matlab - 如何在Matlab中输入数据?

java - 如何禁用 JComboBox 中的某些项目

java - 从 Windows 命令提示符运行带有 Access 数据库的 Java 应用程序

java - android:background不适用于Theme.MaterialComponents

java - 清晰地了解方法和 ArrayList

安卓触摸输入 : Coordinates?

c++ - Python 输入和异常与 C++