11.8 (New Account class) An Account class was specified in Programming
Write a test program that creates an Account with annual interest rate 1.5%,
balance 1000, id 1122, and name George. Deposit $30, $40, and $50 to the
account and withdraw $5, $4, and $2 from the account. Print an account summary
that shows account holder name, interest rate, balance, and all transactions.
Programming Exercises 447
Write a test program that creates an Account with annual interest rate 1.5%,
balance 1000, id 1122, and name George. Deposit $30, $40, and $50 to the
account and withdraw $5, $4, and $2 from the account. Print an account summary
that shows account holder name, interest rate, balance, and all transactions.
Programming Exercises 447
import java.util.ArrayList; import java.util.Date; public class Account { protected String mName; protected int mId; protected double mBalance; protected double mAnnualInterestRate; // AnnualInterestRate is percentage. protected Date mDateCreated; protected ArrayList<Transaction> mTransactions; public Account() { mDateCreated = new Date(); mTransactions = new ArrayList<>(); } public Account(int id, double balance) { this(); mId = id; mBalance = balance; } public Account(String name, int id, double balance) { this(id, balance); mName = name; } public int getId() { return mId; } public void setId(int id) { mId = id; } public double getBalance() { return mBalance; } public void setBalance(double balance) { mBalance = balance; } public double getAnnualInterestRate() { return mAnnualInterestRate; } public void setAnnualInterestRate(double annualInterestRate) { mAnnualInterestRate = annualInterestRate; } public Date getDateCreated() { return mDateCreated; } public double getMonthlyInterestRate() { return mBalance * (mAnnualInterestRate / 12) / 100; } public void withdraw(double amount) { mTransactions.add(new Transaction('W', amount, mBalance, "withdraw")); mBalance -= amount; } public void deposit(double amount) { mTransactions.add(new Transaction('D', amount, mBalance, "deposit")); mBalance += amount; } @Override public String toString() { return "Account name: " + mName + "\n" + "Interest rate: " + mAnnualInterestRate + "\n" + mTransactions; } public ArrayList<Transaction> getTransactions() { return new ArrayList<>(mTransactions); } }
public class Exercise_08 { public static void main(String[] args) { Account account = new Account("George", 1122, 1000); account.setAnnualInterestRate(1.5); account.deposit(30); account.deposit(40); account.deposit(50); account.withdraw(5); account.withdraw(4); account.withdraw(2); System.out.println(account); } }
No comments:
Post a Comment