Hoe een booleaanse methode in java teruggeven?

Ik heb hulp nodig bij het retourneren van een booleaanse methode in java. Dit is de voorbeeldcode:

public boolean verifyPwd(){
        if (!(pword.equals(pwdRetypePwd.getText()))){
                  txtaError.setEditable(true);
                  txtaError.setText("*Password didn't match!");
                  txtaError.setForeground(Color.red);
                  txtaError.setEditable(false);
           }
        else {
            addNewUser();
        }
        return //what?
}

Ik wil dat de verifyPwd() een waarde op true of false retourneert wanneer ik die methode wil aanroepen. Ik wil die methode als volgt aanroepen:

if (verifyPwd()==true){
    //do task
}
else {
    //do task
}

Hoe stel ik de waarde voor die methode in?


Antwoord 1, autoriteit 100%

Je mag meer dan één return-statement hebben, dus het is legaal om te schrijven

if (some_condition) {
  return true;
}
return false;

Het is ook niet nodig om booleaanse waarden te vergelijken met true of false, zodat u kunt schrijven

if (verifyPwd())  {
  // do_task
}

Bewerken: soms kun je niet eerder terug omdat er meer werk aan de winkel is. In dat geval kun je een booleaanse variabele declareren en deze op de juiste manier binnen de voorwaardelijke blokken plaatsen.

boolean success = true;
if (some_condition) {
  // Handle the condition.
  success = false;
} else if (some_other_condition) {
  // Handle the other condition.
  success = false;
}
if (another_condition) {
  // Handle the third condition.
}
// Do some more critical things.
return success;

Antwoord 2, autoriteit 26%

probeer dit:

public boolean verifyPwd(){
        if (!(pword.equals(pwdRetypePwd.getText()))){
                  txtaError.setEditable(true);
                  txtaError.setText("*Password didn't match!");
                  txtaError.setForeground(Color.red);
                  txtaError.setEditable(false);
                  return false;
           }
        else {
            return true;
        }
}
if (verifyPwd()==true){
    addNewUser();
}
else {
    // passwords do not match

System.out.println(“wachtwoord komt niet overeen”);
}


Antwoord 3, autoriteit 13%

public boolean verifyPwd(){
        if (!(pword.equals(pwdRetypePwd.getText()))){
                  txtaError.setEditable(true);
                  txtaError.setText("*Password didn't match!");
                  txtaError.setForeground(Color.red);
                  txtaError.setEditable(false);
                  return false;
           }
        else {
            addNewUser();
            return true;
        }
}

Antwoord 4, autoriteit 13%

U kunt dit ook doen, omwille van de leesbaarheid

boolean passwordVerified=(pword.equals(pwdRetypePwd.getText());
if(!passwordVerified ){
    txtaError.setEditable(true);
    txtaError.setText("*Password didn't match!");
    txtaError.setForeground(Color.red);
    txtaError.setEditable(false);
}else{
    addNewUser();
}
return passwordVerified;

Antwoord 5, autoriteit 4%

De beste manier zou zijn om de variabele Boolean binnen het codeblok te declareren en deze aan het einde van de code te return, als volgt:

public boolean Test(){
    boolean booleanFlag= true; 
    if (A>B)
    {booleanFlag= true;}
    else 
    {booleanFlag = false;}
    return booleanFlag;
}

Ik vind dit de beste manier.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

eighteen + 14 =

Other episodes