猿问

如何停止Java输入

我在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);

}


慕无忌1623718
浏览 311回答 2
2回答

慕尼黑的夜晚无繁华

因此,有不同的方法可以做到这一点。第一种方法,最接近您的方法是按CTRL + D来模拟EOF,如此处所述 如何通过Windows终端发送EOF (我已经尝试过了,确实有效)第二种方法是考虑一些标志。例如,请阅读直到您的电话号码不为-1或简单输入一些字符或某些不重复或整数。第三种方法是逐行读取,使用String[] nums = yourLine.split("\\s");和分隔数字,而不是仅通过拆分的字符串数组,直到Double.parseDouble(nums[i])抛出异常那就是我现在记得的方式。祝你好运 ;)
随时随地看视频慕课网APP

相关分类

Java
我要回答