我的程序有两个输入num1和num2。我想要一个if语句的条件,其中两个输入都不应该为零,并且两个输入都应该大于零但小于或等于1000.while循环应该与输入0 0 onl断开。我是否应该发表两个if语句?
while (true)
{
Scanner input = new Scanner(System.in);
int num1 = input.nextInt();
int num2 = input.nextInt();
if ((num1 <= 1000 && num2 <= 1000) && (num1 > 0 && num2 > 0))
{
for (int num = num1; num <= num2; num++)
System.out.println(num);
}
else if (num1 == 0 && num2 == 0)
break;
}
答案 0 :(得分:1)
这是多余的,因为您希望这些变量位于(1-1000)
范围之内:
(num1!=0||num2!=0)
只需指定预期范围:
if (num1 > 0 && num1 <= 1000 && num2 > 0 && num2 <= 1000) {
...
}
while循环应该与输入0 0断开,只有我有两个if语句吗?
没必要。实际问题是Scanner.nextInput()
中未使用while
。
所以它永远不会奏效。
答案 1 :(得分:1)
Scanner input = new Scanner(System.in);
while (true) {
int num1 = input.nextInt();
int num2 = input.nextInt();
if (num1|num2 == 0) break;
if (num1<=1000 && num2<=1000 && (num1|num2)>0)
// do your action
}
注意变量之间的单|
来执行二进制OR而不是逻辑一