来自用户输入的带有验证的java数组列表
我是编程新手。我正在尝试从用户输入创建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;
}
# 1 楼答案
将if(值<;0)更改为while(值<;0)
基本上,如果用户输入负数,它会一直要求输入
# 2 楼答案
添加
continue
语句,而不是读取if
块中的下一个值这样,所有输入都会进行验证
一个
continue
语句将结束当前迭代,并开始下一个迭代