2016-04-23 29 views
-2

BankAccount的抽象版本继承和重写的方法返回一个String报告。由于CheckingAccount是BankAccount的子类,因此这是一项要求。该方法返回以下内容。 用于报表的本地String变量初始化为“Ch#:”+ accountNumber +“WDs(”+ numOfWithdraws +“)”+“Dep(”+ numOfDeposits +“)”+“PreBal:”+ moneyString(balance)。如何合并我的两个字符串以将其添加到前一个字符串?

接下来,在if语句中调用hasOverdraft()方法来确定帐户的状态(如果帐户hasOverdraft)。如果为true,则将选项卡式“YrlyIntRate:”连接到annualInterestRate。接下来将选项卡“NewBal:”连接到moneyString(余额)并连接“(OD)”以指示该帐户被重叠计算。

否则,如果余额小于100(这严格用于格式化文本区域),然后通过使用每月利率计算新余额并连接到报表字符串double-tabbed“YrlyIntRate:”与monthlyInterstRate然后连接单个选项卡的“NewBal:”和moneyString(余额)

否则,使用单个选项卡式YrlyIntRate执行上述操作(因此所有行都很好)。

public String bankAccountStatusReport() 
{ 
    String r = "Ch#:" + accountNumber + " WDs("+ numOfWithdraws + ")"+ 
     " Dep("+ numOfDeposits +")" + " PreBal:"+ moneyString(balance); 

    hasOverdraft(); 
    if(hasOverdraft()== true) 
    { 
     String r += "\t" + "YrlyIntRate:" + yearlyInterestRate 
       + "\t" + " NewBal:" + moneyString(balance) + " (OD)"; ; 
    } 
    else if(balance < 100) 
    { 

    } 

    return r; 
} 
+2

这看起来像一个家庭作业。你的问题是什么? –

+0

我同意@ cricket_007。一个更好的问题会告诉我们你的代码存在哪些问题,并且会更具体和更健全,就像作业转储或工作订单一样。 –

+0

我真的不知道该怎么说我的不好。我会发布我的整个代码,但它没用,它只是我没有得到的这部分。 –

回答

0

java.lang.StringBuilder非常适合这个。例如:

StringBuilder sb = new StringBuilder(); 
sb.append("Ch#:").append(accountNumber).append(" WDs(").append(numOfWithdraws).append(")"); 
sb.append(" Dep(").append(numOfDeposits).append(")").append(" PreBal:").append(moneyString(balance)); 

if (hasOverdraft()) { 
    sb.append("\t").append("YrlyIntRate:").append(yearlyInterestRate); 
    sb.append("\t").append(" NewBal:").append(moneyString(balance)).append(" (OD)"); 
} else if (balance < 100) { 
    // Do something else. 
} 

return sb.toString(); 
+0

谢谢有另一种方法可以做到这一点。我们还没有在课堂上讲过这个话题,如果我们没有报道,她会觉得她会起飞。 –

相关问题