2012-11-27 18 views
7

Diciamo che ho un metodo booleano che utilizza un'istruzione se per verificare se il tipo di ritorno dovrebbe essere vero o falsa:Come si verifica se un metodo restituisce true o false in un'istruzione IF in Java?

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

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

return check; 

E ora, voglio usare questo metodo come un parametro di un se dichiarazione in un metodo diverso :

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 

Quindi, in pratica quello che sto chiedendo è, come posso verificare quale sia il tipo di ritorno del metodo booleano all'interno dei parametri di un'istruzione if? Le tue risposte sono molto apprezzate.

+5

Come dire - 'if (ifValid())'. E il tuo metodo restituirà sempre 'true', se lo noti. –

+0

si sta andando nel modo giusto ... :) –

+0

Un po 'fuori tema, ma inciampando in questa domanda mi ricorda quanto lontano sono arrivato come programmatore. Grande sensazione –

risposta

9

Dal momento che è un metodo, chiamarlo si dovrebbe usare parentesi in seguito, in modo che il codice sarebbe poi diventato:

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

Non è necessario aggiungere "== true" qui. –

+2

Confronto booleano ?? : - \ Weird .. –

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

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

Ecco come si fa

if(isValid()) 
{ 

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

Si dovrebbe essere in grado di chiamare solo la funzione, nella condizione in caso affermativo:

if (isValid()) { 

}else { 

} 

Dal isValid() restituisce un boolean la condizione verrà valutata subito. Ho sentito che è una forma migliore per creare una var locale prima di testare la tua condizione.

boolean tempBoo = isValid(); 

if (tempBoo) { 

}else { 

} 
0

È possibile utilizzare:

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

why downvotes? – sunil

1

-If dichiarazione accetta soloboolean valore.

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; 

Come si può fare tutto questo metodo senza controllo booleano?

Quindi, come sbarazzarsi di .. check = true, check = false, return check stuff?

+0

È possibile restituire solo la valutazione stessa, come "numero di ritorno> 4;" Questo condurrà il metodo in un numero inferiore di righe. –

+0

Va bene, grazie! –

Problemi correlati