有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

关于布尔语句中参数的java问题

所以我要问一个Java类的问题。这很简单,也许我只是错过了一些简单的东西,但我似乎不知道如何做到这一点:

编码并测试一个布尔表达式,如果整型变量“n”在-15到50(含15到50)范围内,但在10到20(含10到20)范围内不是奇数,则该布尔表达式返回true

我一直在尝试的方法是:

System.out.println(n%2==0 && n > 10 && n < 20 && n>-15 && n < 50);

虽然它正确地计算了非奇数和10-20包容性,但当值超出10-20范围时,它不会声明该值为“真”

p.s问题要求在行中完成此操作


共 (1) 个答案

  1. # 1 楼答案

    使用括号有助于更好地表示您的情况,我在这里复制了这些情况,并对我认为正确的解决方案进行了注释

    System.out.println(        // true if an integer variable “n” is 
        n >= -15 && n <= 50        // in the range -15 to 50 inclusive 
        && !(                      // but not 
            n % 2 == 1             // odd 
            && n >= 10 && n <= 20  // in the range 10 to 20 inclusive.
        )
    );
    

    请注意,我使用了>=<=,而不是><,因为它表示“包含”

    我认为不可能在一行中表示这个表达式,而不使用一些括号将一些检查分组在一起