2016-06-27 9 views
-6

Ich habe dieses Problem: Ich möchte prüfen, ob ein Int größer als 10 ist, wenn nicht größer als 100, und so weiter. Gibt es einen besseren Weg, als nur dies zu tun:Java - Mehrere boolesche Bedingungen

public void multipleIf(int x){ 
    if(x > 10){ 
     ... 
    } else if(x > 100){ 
     ... 
    } else if(... 
} 

Dank.

+1

Wenn es nicht größer als 10 ist, prüfen Sie, ob es größer als 100 ist. Das macht keinen Sinn. – csmckelvey

Antwort

0

Eine Zahl, die größer als 100 ist immer größer als 10.

Wenn Sie nur Zahlen im Bereich von 10-100 exklusiv mögen, können Sie Operatoren verwenden können. Sie könnten für eine Reihe testen, die größer ist als 10, aber weniger als 100 mit logischen Operatoren:

if(x > 10 && x < 100) { 
    /* Body */ 
} else if(x > 100 && x < ....) { 
    /* Body */ 
} 

Die && ist eine logische UND-Operator, der beide Bedingungen überprüft, ob wahr sind. Also, es überprüft, ob x innerhalb der Reichweite ist, exklusiv.

Wenn Sie nur Zahlen größer als 100 verwenden möchten, verwenden Sie separate if Anweisungen.

Sie können auch eine switch-Anweisung verwenden.

+0

Danke daran habe ich nicht gedacht. – DodoProgramms

0

Eigentlich, wenn Sie wissen, was Ihr Limit ist (sagen wir 10.000), können Sie einfach von oben beginnen.

if(x > 10000) 
    ....statement 1 
else if (x > 1000) // using this else here is important 
    ....statement 2 
else if (x > 100) 
    ....statement 3 
else if (x > 10) 
    ....statement 4 

Die else ist wichtig, weil es nur ausgeführt, wenn die vorherige if (oder else if) nicht ausgeführt wird (die Aussage falsch ist). Somit können wir sehen, dass die Anweisung 1 für jede x größer als 10.000 ausgeführt wird. Wenn es nicht größer als 10.000, aber größer als 1000 ist, wird Anweisung 2 ausgeführt. Wenn x nicht größer als 1.000, aber größer als 100 ist, wird Anweisung 3 ausgeführt. Und am Ende können Sie, abhängig von Ihrem Code, einfach eine else Aussage irgendwo hinstellen.