2016-04-23 27 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

謝謝有另一種方法可以做到這一點。我們還沒有在課堂上講過這個話題,如果我們沒有報道,她會覺得她會起飛。 –

相關問題