有一个关于Java的教育任务: 设置一个条件,如果X和Z值中只有一个小于20,则为真。 这样做的方式是这样的:
(X < 20 && Y >= 20) || (X >= 20 && Y < 20)
或
(a < 20) != (b < 20)
但是我有限制,应该使用不超过2个比较运算符,* / +-运算符,无按位运算符来解决
答案 0 :(得分:8)
您可以使用XOR运算符^
if( (x < 20) ^ (z < 20) )
答案 1 :(得分:4)
通过使用条件运算符? :
,您可以实现:
if(X < 20 ? Y >= 20 : Y < 20){
...
}
答案 2 :(得分:2)
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){
...
}