我已经尝试过Math.abs和if语句,但没有任何效果。我有点糊涂。我怎么能不接受在Java中使用for循环的负数,用户不能输入负数作为防御程序?取以下代码:
for(int i=0; i<arr.length; i++) {
System.out.print("Νο. " + (i + 1) + ": ");
arr[i] = input.nextDouble();
}发布于 2022-04-04 13:12:57
将该值的读取包装在一个循环中。在用户输入非负值之前,不要退出循环。例如..。
for (int i=0; i<arr.length; i++) {
while (true) {
System.out.print("Νο. " + (i + 1) + ": ");
arr[i] = input.nextDouble();
if (arr[i] >= 0) {
break;
}
System.out.println("Value cannot be negative");
}
}发布于 2022-04-04 13:32:51
我想您对Java非常陌生。欢迎来到Java的神奇世界:)
根据您的代码的外观,一个更“专业”的方法是抛出一个异常:您可以搜索一些Google并尝试自定义您的代码,以及它对异常的反应。
另一方面,这似乎是一个简单的项目,所以类似于
Double a = input.nextDouble();
if(a > 0){
System.out.println("No negative values allowed");
}else{
arr[i] = a;
}可能就够了
https://stackoverflow.com/questions/71737779
复制相似问题