toString メソッドを使用して配列リストにデータを表示しています。口座数、各口座の残高、合計残高を出力するために必要です。私のループが間違った/間違った場所で使用されていることはほぼ確実です。しかし、私はそれを修正する方法を理解できません。また、accounts.clear() を使用すると、合計残高がクリアされますが、アカウント数は同じままで、別のループが必要ですか? 皆様のご協力をよろしくお願いいたします。
This is my Account Class:
package prob2;
public class Account {
double balance;
public void deposit(double amount) {
balance = balance + amount;
}
public void withdraw(double amount) {
balance = balance - amount;
}
public void addInterest () {
balance += (balance - 1000)*.01;
}
public double getBalance() {
return balance;
}
}
そして、ここに私の Person クラスがあります
package prob2;
import java.util.ArrayList;
public class Person {
ArrayList<Account> accounts = new ArrayList<Account>();
//int numberOfAccounts = 0;
double sum;
double balance;
public void addAccount(Account a){
//numberOfAccounts++;
accounts.add(a);
}
public Account getAccount (int i) {
return accounts.get(i);
}
public int getNumAccounts() {
return accounts.size();
}
public double getTotalBalance() {
double sum = 0;
for (Account a: accounts)
sum = sum + a.getBalance();
return sum;
}
public void applyInterest() {
for (Account a: accounts)
a.addInterest();
}
public void removeAccount(int i) {
accounts.remove(i);
//numberOfAccounts--;
}
public void depositFunds(int i, double amount) {
getAccount(i).deposit(amount);
}
public void withdrawFunds(int i, double amount) {
getAccount(i).withdraw(amount);
}
public void clearAccounts() {
accounts.clear();
}
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(String.format("Number of accounts: %d%n", accounts.size()));
for (Account a: accounts)
sb.append(String.format("Balance: %d%n", a.getBalance()));
// call sb.append in your for loop
sb.append(String.format("Total balance: %d%n", getTotalBalance()));
return sb.toString();
}
}
出力は次のようになります:
Num Accounts: 3
バル = 2234.34
バル = 4523.29
バル = 45.62
合計残高 = 6803.25