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;     } }

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

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;
    }
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 3 images

Blurred answer
Similar questions
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY