Question
5.3 File Account.java (see 4.1. A Flexible Account Class exercise) contains a definition for a simple bank account class withmethods to withdraw, deposit, get the
5.3 File Account.java (see 4.1. A Flexible Account Class exercise) contains a definition for a simple bank account class withmethods to withdraw, deposit, get the balance and account number, and print a summary. Save it to your directory and studyit to see how it works. Then write the following additional code: 1. Add a method public void transfer(Account acct, double amount) to the Account class that allows the user to transferfunds from one bank account to another. If acct1 and acct2 are Account objects, then the callacct1.transfer(acct2,957.80) should transfer $957.80 from acct1 to acct2. Be sure to clearly document which way thetransfer goes! 2. Write a class TransferTest with a main method that creates two bank account objects and enters a loop that does thefollowing: Asks if the user would like to transfer from account1 to account2, transfer from account2 to account1, or quit.If a transfer is chosen, asks the amount of the transfer, carries out the operation, and prints the new balance for each account.Repeats until the user asks to quit, then prints a summary for each account.
3. Add a static method to the Account class that lets the user transfer money between two accounts without going througheither account. You can (and should) call the method transfer just like the other one - you are overloading this method.Your new method should take two Account objects and an amount and transfer the amount from the first account to thesecond account. The signature will look like this:
public static void transfer(Account acct1, Account acct2, double amount)Modify your TransferTest class to use the static transfer instead of the instance version.
public class Account
{
private double balance;
private String name;
private long acctNum; //-------------------------------------------------//Constructor -- initializes balance, owner, and account number//-------------------------------------------------
public Account(double initBal, String owner, long number)
{
balance = initBal;
name = owner;
acctNum = number;
} //-------------------------------------------------// Checks to see if balance is sufficient for withdrawal.// If so, decrements balance by amount; if not, prints message.//-------------------------------------------------
public void withdraw(double amount)
{
if (balance >= amount)
balance -= amount;
elseSystem.out.println("Insufficient funds");
}
//-------------------------------------------------// Adds deposit amount to balance.//------------------------------------------------- public void deposit(double amount){balance += amount;
} //-------------------------------------------------// Returns balance.//-------------------------------------------------
public double getBalance()
{
return balance;
} //-------------------------------------------------// Returns a string containing the name, account number, and balance.//-------------------------------------------------
public String toString()
{
return "Name:" + name +
" Account Number: " + acctNum +
" Balance: " + balance;
}
}
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started