【发布时间】:2017-03-02 10:57:05
【问题描述】:
想想都累了 :)
在java中有什么简单的解决方案吗?
A B | = XOR -> NO
-------- AND -> NO
0 1 | 0 OR -> NO
0 0 | 0
1 1 | 0
1 0 | 1
这个来自
condition 1 if condition 2 take condition 3
evaluated to evaluated to to consider
true true
return a && if(b) && c
else only a
// i can make it like this
return (a && b) ? a && b && c : a;
// then simplifying
return b ? a && c : a;
但如果是声明,我需要在右侧进行解决方案/计算和替换
或者也许有更简单的方法来编写这个条件?
&& !b 有效吗? – 布拉迪姆斯
也许是我——但你在问什么? – 满载鳗鱼的气垫船
要考虑的示例:
public boolean isRequestInQue(Request<User> requestToCheck,
boolean checkCallerAlive) {
int id = requestToCheck.getId();
Request<User> requestInQue = _stateCallerRequestList.get(id);
return requestInQue != null
? checkCallerAlive
? requestToCheck.equals(requestInQue)
&& requestInQue.isCallerAlive()
: requestToCheck.equals(requestInQue)
: false;
}
三元运算符可能难以理解,尤其是在您寻求逻辑帮助时。你能举一个使用 if 语句的例子吗? ——戴夫
if(requestInQue!=null)
if(checkCallerAlive)
if(requestToCheck.equals(requestInQue))
if(requestInQue.isCallerAlive())
return true;
else if(requestToCheck.equals(requestInQue)
return true;
return false;
最终基于戴夫的回答
true && (!false || true) = true
true && (!true || true) = true
true && (!true || false) = false
true && (!false || false) = true
public boolean checkWithCifB(boolean a, boolean b, boolean c) {
return a && (!b || c);
}
【问题讨论】:
-
a && !b工作吗? -
三元运算符可能难以理解,尤其是在您寻求逻辑帮助时。你能举一个使用
if语句的例子吗?
标签: java operators conditional-statements