如何摆脱方法中的多个return语句

时间:2017-11-27 17:45:32

标签: java

这是银行客户类,包含多个return语句。我的问题是如何摆脱那些多个return语句,我想在每个方法的末尾只有一个多重返回。

public class BankCustomer {
    //define the attribute
    private String name;
    private int chequeAcctNum;
    private double chequeBal;
    private int savingAcctNum;
    private double savingBal;

    //define constractor   
    public BankCustomer(String n, int chqAcctNum, double chqBal
    , int savAcctNum, double savBal)
    {
        name = n;
        chequeAcctNum = chqAcctNum;
        chequeBal = chqBal;
        savingAcctNum = savAcctNum;
        savingBal = savBal;        
    }

    //define the methods
    // Call withdraw from chequing method
    public boolean withdrawChequing(double amount) {
          if(chequeBal >= amount) {
            chequeBal-=amount;
            return true;     
            } else {            
            return false;
            }       
    }

2 个答案:

答案 0 :(得分:2)

在我看来,一个包含多个return语句的方法非常好。如果使用正确,它可以使您的代码更具可读性。您不需要更改方法。

如果你坚持,请按照以下方法将其缩减为一份退货声明。

创建一个存储返回值的布尔变量:

boolean retVal = false;

然后检查条件:

if(chequeBal >= amount) {
    chequeBal-=amount;
    retVal = true;    
}

然后返回retVal

return retVal;

答案 1 :(得分:1)

这样的事情:

public boolean withdrawChequing(double amount) {
    boolean bRetVal = false;
    if(chequeBal >= amount) {
        chequeBal-= amount;
        bRetVal = true;
    }
    return bRetVal;
}