如何不允许输入负数
how not to allow a negative number to be entered in for
我试过 Math.abs 和 if 语句,但没有任何效果。我有点困惑。如何在 Java 中使用 for 循环不接受负数,用户不能输入负数作为防御编程?拿下面的一段代码:
for(int i=0; i<arr.length; i++) {
System.out.print("Νο. " + (i + 1) + ": ");
arr[i] = input.nextDouble();
}
将值的读取包装在一个循环中。在用户输入 non-negative 值之前不要退出循环。例如..
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");
}
}
我想您是 Java 的新手。欢迎来到 Java 的魔法世界:)
根据您的代码的外观,更“专业”的方法是抛出异常:您可以 Google 稍微尝试自定义您的代码以及它对异常的反应方式。
另一方面,这似乎是一个简单的项目,所以像
Double a = input.nextDouble();
if(a > 0){
System.out.println("No negative values allowed");
}else{
arr[i] = a;
}
可能够了
我试过 Math.abs 和 if 语句,但没有任何效果。我有点困惑。如何在 Java 中使用 for 循环不接受负数,用户不能输入负数作为防御编程?拿下面的一段代码:
for(int i=0; i<arr.length; i++) {
System.out.print("Νο. " + (i + 1) + ": ");
arr[i] = input.nextDouble();
}
将值的读取包装在一个循环中。在用户输入 non-negative 值之前不要退出循环。例如..
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");
}
}
我想您是 Java 的新手。欢迎来到 Java 的魔法世界:)
根据您的代码的外观,更“专业”的方法是抛出异常:您可以 Google 稍微尝试自定义您的代码以及它对异常的反应方式。
另一方面,这似乎是一个简单的项目,所以像
Double a = input.nextDouble();
if(a > 0){
System.out.println("No negative values allowed");
}else{
arr[i] = a;
}
可能够了