The class contains one constructor: public Account (double initBal, String owner, long number) which initializes the instance variables. 1. Overload the constructor as follows: public Account (double initBal, String owner) - initializes the balance and owner as specified; randomly generates the account number. public Account (String owner) - initializes the owner as specified; sets the initial balance to 0 and randomly generates the account number. public Account () - initializes the owner with empty string name; sets the initial balance to 0 and randomly generates the account number. 2. Overload the withdraw method that also takes a fee parameter and deducts that fee from the account. 3. Write a driver program that invokes all four versions of the constructors and two versions of the withdraw methods. Think about how the compiler can tell which method is invoked. Code: //******************************************************* // Account.java // // A bank account class with methods to deposit, withdraw, // and check the balance. //******************************************************* 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; else System.out.println("Insufficient funds"); } //---------------------------------------------- // Adds deposit amount to balance. //---------------------------------------------- public void deposit(double amount) { balance += amount; } //---------------------------------------------- // Returns balance. //---------------------------------------------- public double getBalance() { return balance; } //---------------------------------------------- // Returns account number //---------------------------------------------- public double getAcctNumber() { return acctNum; } //---------------------------------------------- // Returns a string containing the name, acct number, and balance. //---------------------------------------------- public String toString() { return "Name: " + name + "\nAcct #: " + acctNum + "\nBalance: " + balance; } }
The class contains one constructor:
public Account (double initBal, String owner, long number)
which initializes the instance variables.
1. Overload the constructor as follows:
-
public Account (double initBal, String owner) - initializes the balance and owner as specified; randomly generates the account number.
-
public Account (String owner) - initializes the owner as specified; sets the initial balance to 0 and randomly generates the account number.
-
public Account () - initializes the owner with empty string name; sets the initial balance to 0 and randomly generates the account number.
2. Overload the withdraw method that also takes a fee parameter and deducts that fee from the account.
3. Write a driver program that invokes all four versions of the constructors and two versions of the withdraw methods. Think about how the compiler can tell which method is invoked.
Code:
//*******************************************************
// Account.java
//
// A bank account class with methods to deposit, withdraw,
// and check the balance.
//*******************************************************
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;
else
System.out.println("Insufficient funds");
}
//----------------------------------------------
// Adds deposit amount to balance.
//----------------------------------------------
public void deposit(double amount)
{
balance += amount;
}
//----------------------------------------------
// Returns balance.
//----------------------------------------------
public double getBalance()
{
return balance;
}
//----------------------------------------------
// Returns account number
//----------------------------------------------
public double getAcctNumber()
{
return acctNum;
}
//----------------------------------------------
// Returns a string containing the name, acct number, and balance.
//----------------------------------------------
public String toString()
{
return "Name: " + name +
"\nAcct #: " + acctNum +
"\nBalance: " + balance;
}
}
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 3 images