2012-11-27 5 views
7

Lassen Sie uns sagen, dass ich ein boolean Methode, die eine wenn Anweisung verwendet um zu überprüfen, ob der Rückgabetyp wahr oder falsch sein sollte:Wie überprüfe ich, ob eine Methode wahr oder falsch in einer IF-Anweisung in Java zurückgibt?

public boolean isValid() { 
    boolean check; 
    int number = 5; 

    if (number > 4){ 
     check = true; 
    } else { 
     check = false; 
    } 

return check; 

Und jetzt habe ich diese Methode als eine verwenden möchten Parameter einer wenn Anweisung in einer verschiedenen Methode:

if(isValid == true) // <-- this is where I'm not sure 
    //stop and go back to the beginning of the program 
else 
    //continue on with the program 

Also im Grunde was ich frage ist, wie überprüfe ich, was der Rückgabetyp der booleschen Methode innerhalb der Parameter einer if-Anweisung ist? Ihre Antworten werden sehr geschätzt.

+5

Wie wäre es - 'if (ifValid())'. Und Ihre Methode wird immer "wahr" zurückgeben, wenn Sie es bemerken. –

+0

ja du gehst richtig rüber ... :) –

+0

Ein wenig off topic, aber stolpern über diese Frage erinnert mich daran, wie weit ich als Programmierer gekommen bin. Tolles Gefühl. –

Antwort

9

Da es ein Verfahren ist, es zu nennen, sollten Sie Pars danach verwenden, so dass der Code wäre dann:

if(isValid()) { 
    // something 
} else { 
    //something else 
} 
+5

Es ist nicht notwendig, hier "== true" hinzuzufügen. –

+2

Boolescher Vergleich ?? : - \ Weird .. –

3
public boolean isValid() { 
    int number = 5; 
    return number > 4; 
} 

if (isValid()) { 
    ... 
} else { 
    ... 
} 
0

Dies ist, wie Sie es tun

if(isValid()) 
{ 

} 
else 
{ 
} 
0
if (isValid()) { 
    // do something when the method returned true 
} else { 
    // do something else when the method returned false 
} 
2

sollten Sie in der Lage sein, nur so innerhalb der IF-Bedingung um die Funktion aufzurufen:

if (isValid()) { 

}else { 

} 

Seit isValid() gibt eine boolean die Bedingung sofort ausgewertet werden. Ich habe gehört, dass es besser ist, eine lokale Var zu erstellen, kurz bevor Sie Ihre Kondition testen.

boolean tempBoo = isValid(); 

if (tempBoo) { 

}else { 

} 
0

können Sie verwenden:

if(isValid()){ 
    //do something.... 
} 
else 
{ 
    //do something.... 
} 
+0

warum downvotes? – sunil

1

-If Anweisung akzeptiert nurboolean Wert.

public boolean isValid() { 

    boolean check = false; // always intialize the local variable 
    int number = 5; 

    if (number > 4){ 
     check = true; 
    } else { 
     check = false; 
    } 

return check; 

} 


if(isValid()){ 

    // Do something if its true 
}else{ 

    // Do something if its false 
} 
0
public boolean isValid() { 
    boolean check; 
    int number = 5; 

    if (number > 4){ 
     check = true; 
    } else { 
     check = false; 
    } 

return check; 

Wie können Sie tun, um diese ganze Methode ohne boolean Scheck?

Also, wie loswerden .. check = true, check = false, zurück überprüfen Zeug?

+0

Sie können nur die Auswertung selbst zurückgeben, als 'return number> 4;' Dies wird Ihre Methode in weniger Zeilen verdichten. –

+0

Okay, danke! –

Verwandte Themen