这是银行客户类,包含多个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;
}
}
答案 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;
}