2016-10-20 7 views
-1

私は考えることに疲れている:)は、2番目のすべての場合、すべての3番目の評価を考慮する

これは簡単な解決策ですか?

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は機能しますか? - bradimus

おそらく私ですが、何を求めていますか? - ウナギのホバークラフト全

の例では、考慮すべき:

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; 

finalyデイブの回答に基づいて、私は、これは動作するはずだと思う

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); 
} 
+5

ん '&& B'仕事を!? – bradimus

+1

三項演算子は、特にロジックの助けを求める場合には、従うのが難しい場合があります。 'if'文を使って例を挙げることはできますか? – dave

答えて

1

return requestInQue != null && requestToCheck.equals(requestInQue) && 
     (!checkCallerActive || requestInQue.isCallerAlive()); 
+0

おそらく真:) – ceph3us

関連する問題