所以我有一个程序正在读取用户输入的 double ,但是,如果用户一开始没有输入任何数据,我想打印一条消息:
输入数据集:
^D
没有数据!
然而,当我运行我的程序时,当用户输入值然后按 ctl+d 时,即使输入了值,程序仍然会显示无数据消息。这是我的代码:
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter data set: ");
ArrayList<Double> nums = new ArrayList<Double>();
while (keyboard.hasNextDouble()) {
nums.add(keyboard.nextDouble());
}
//I think this is the part that is causing the bug but im not sure how to fix it
if (!keyboard.hasNextDouble()) {
System.out.println("\nNo Data!");
return;
}
我如何修改这个程序,以便只有当用户没有输入任何数据时才打印消息,而不是在用户结束文件时一直打印?谢谢。
最佳答案
尝试
if (nums.isEmpty ()) {
可能是你的情况?
关于java - 循环读取用户输入的 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36660971/