限制Java条件

时间:2018-07-04 16:55:57

标签: java

有一个关于Java的教育任务: 设置一个条件,如果X和Z值中只有一个小于20,则为真。 这样做的方式是这样的:

(X < 20 && Y >= 20) || (X >= 20 && Y < 20)

(a < 20) != (b < 20)

但是我有限制,应该使用不超过2个比较运算符,* / +-运算符,无按位运算符来解决

5 个答案:

答案 0 :(得分:8)

您可以使用XOR运算符^

if( (x < 20) ^ (z < 20) )

答案 1 :(得分:4)

通过使用条件运算符? :,您可以实现:

if(X < 20 ? Y >= 20 : Y < 20){
    ...
}

答案 2 :(得分:2)

Lino's answer

if(X < 20 ? Y >= 20 : Y < 20){

显然,这使用了太多的比较运算符。因此,仅用2重写它:

boolean b = Y >= 20;
if (X < 20 ? b : !b) {

答案 3 :(得分:0)

 return Math.max(a, b) >= 20 && Math.min(a, b) < 20;

答案 4 :(得分:-3)

您只需要检查其中一个值是否小于20。这应该可以:

if( x < 20 || y < 20){ ... }