2016-04-23 8 views
-2

この継承およびオーバーライドされたメソッドは、BankAccountの抽象バージョンからStringレポートを返します。 CheckingAccountはBankAccountのサブクラスなので、これが必要です。このメソッドは以下を返します。 レポートのローカルString変数は、 "Ch#:" + accountNumber + "WDs(" + numOfWithdraws + ")" + "Dep(" + numOfDeposits + ")" + "PreBal:" + moneyString(balance)に初期化されます。2つの文字列を組み合わせて前の文字列に追加するにはどうすればよいですか?

次のifOverdraft()メソッドはifステートメントで呼び出され、アカウントのステータス(hasOverdraftがある場合)を判断します。 trueの場合は、タブ付きの "YrlyIntRate:"をyearlyInterestRateに連結します。次に、タブ付きの "NewBal:"をmoneyString(残高)に連結し、 "(OD)"を連結して、口座が超過していることを示します。

これ以外の場合は残高が100未満です(これは厳密にはテキスト領域の書式設定用です)、毎月の金利を使用して新しい残高を計算し、yearlyInterstRateを使用してレポート文字列のダブルタブ「YrlyIntRate:単一のタブ付き "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

ありがとう、私はこれを行うことができる別の方法です。私たちはクラスでこれを乗り越えておらず、それをカバーしなければ離陸すると感じています。 –

関連する問題