java - 来自用户输入的数组列表并进行验证

标签 java validation arraylist

我是编程新手。我正在尝试根据用户输入创建一个 ArrayList。我需要验证用户没有输入负数,提示用户正确输入并继续接受输入。一旦我接受了所有输入,输入的数字总数。 只要用户不输入连续的负数,我就可以让输入和验证正常工作。如果用户输入连续的负数,它不再抛出验证错误,并且输入的负数将从总数中减去。 我尝试用 do、if、while 和我能想到的一切方式重写它,但最终只是让事情变得更糟。预先感谢您的帮助。

public static ArrayList<Double> readInputs()
{
ArrayList<Double> inputs = new ArrayList<>();
System.out.println("Please enter CU or Type q and Enter to Total.");          
Scanner in = new Scanner(System.in);
while (in.hasNextDouble())
{
double value = in.nextDouble();
if (value < 0)
{
System.out.println("Error: Can not be a Negative Value");
System.out.println("Please enter CU or Type q and Enter to Total.");
value = in.nextDouble();
}
inputs.add(value);
}
return inputs;
}  

最佳答案

添加 continue 语句,而不是读取 if block 内的下一个值

if (value < 0)
{
    System.out.println("Error: Can not be a Negative Value");
    System.out.println("Please enter CU or Type q and Enter to Total.");
    //value = in.nextDouble();
    continue;
}

这样,所有输入都会进行验证。

continue 语句将结束当前迭代并开始下一个迭代。

关于java - 来自用户输入的数组列表并进行验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21129794/

相关文章:

java - 使用 ArrayList 和递归避免 java.util.ConcurrentModificationException

java - 如何设置使用类的优先级

java - REST:如何构建一个以参数作为第一个标记的请求路径?

swift - 如何从 Outlet Collection 获取文本字段值以进行密码验证?

ruby-on-rails - 验证除Rails中的一个以外的所有属性

Java ArrayList.clear() 函数

java - 从 ArrayList 中删除重复的自定义对象

java - okhttp 不允许设置 content-type

java - java中的谜题求解器的递归回溯

检查 .txt 文件的格式在 C 中是否有效?