如何在java中返回布尔方法?

2022-09-01 17:20:42

我需要有关如何在java中返回布尔方法的帮助。下面是示例代码:

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?
}

我希望每当我想调用该方法时,都会返回 true 或 false 的值。我想像这样调用该方法:verifyPwd()

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

如何设置该方法的值?


答案 1

您可以拥有多个声明,因此编写是合法的return

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

也没有必要将布尔值与 或 进行比较,这样您就可以truefalse

if (verifyPwd())  {
  // do_task
}

编辑:有时你不能早点回来,因为还有更多的工作要做。在这种情况下,您可以声明一个布尔变量,并在条件块内适当地设置它。

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;

答案 2

试试这个:

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(“password not match”);}