2017-01-22 2 views
-1

Ich muss zwei wenn sonst in eine Aussage kondensieren. Code ist völlig in Ordnung, aber es kann nicht zwei Wenn-sonst. Beide Codes haben dasselbe Problem.Java Conditional macht es einfach

public boolean isClear(int index) { 
    if (index < 32) { 
     if ((bits & 0x00000001 << index) == 0) 
      return true; 
     else 
      return false; 
    } else 
     return true; 
} 

public boolean isSet(int index) { 
    if (index < 32) { 
     if ((bits & 0x00000001 << index) != 0) 
      return true; 
     else 
      return false; 
    } else 
     return false; 
} 
+2

Wie wäre es mit '' && – NewUser

+0

Und? Du willst das nicht selbst machen oder was ist die Frage/Verwirrung hier? – Tom

+0

Ich weiß nicht, wie es geht. – BabyC0d3eR

Antwort

2

Shorter:

public boolean isClear(int index) 
{ 
    return (index < 32) ? (bits & 0x00000001<<index) == 0 : true; 
} 
2

Es gibt nur einen Weg in isSet die true zurückkehrt, so return es. Wie,

public boolean isSet(int index) { 
    return (index < 32) && ((bits & 0x00000001 << index) != 0); 
} 

Und dann isClear kann die Negation sein, dass.

public boolean isClear(int index) 
{ 
    return !isSet(index); 
} 
+0

Danke für schnelle Antwort. Es funktionierte wie Charme. Auch Danke @schwobaseggl für Ihre Eingabe. – BabyC0d3eR