Java 中的 if 语句帮助



我的程序有两个输入 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;
}

这是多余的,因为您希望这些变量在它们(1-1000)

范围内的范围内:
(num1!=0||num2!=0)

只需指定预期范围:

if (num1 > 0 && num1 <= 1000 && num2 > 0 && num2 <= 1000) {
...
}

while 循环应该与输入 0 0 中断,我应该只有两个 if 语句吗?

没必要。实际问题是Scanner.nextInput()没有在您的while中使用。 所以它永远不会起作用。

你可以这样做:

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而不是逻辑OR执行

最新更新