我在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);}
2 回答
慕尼黑的夜晚无繁华
TA贡献1864条经验 获得超6个赞
因此,有不同的方法可以做到这一点。
第一种方法,最接近您的方法是按CTRL + D来模拟EOF,如此处所述 如何通过Windows终端发送EOF (我已经尝试过了,确实有效)
第二种方法是考虑一些标志。例如,请阅读直到您的电话号码不为-1或简单输入一些字符或某些不重复或整数。
第三种方法是逐行读取,使用String[] nums = yourLine.split("\\s");
和分隔数字,而不是仅通过拆分的字符串数组,直到Double.parseDouble(nums[i])
抛出异常
那就是我现在记得的方式。祝你好运 ;)
添加回答
举报
0/150
提交
取消