if语句中的语句帮助

时间:2018-03-30 05:08:35

标签: java if-statement

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

2 个答案:

答案 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而不是逻辑一