Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Suppose that a class named Account has the following specifications: A private int data field named id for the account (default 0). A

Suppose that a class named Account has the following specifications:

 A private int data field named id for the account (default 0).

 A private double data field named balance for the account (default 0).

 A private double data field named annualInterestRate that stores the current interest rate

(default 0). Assume all accounts have the same interest rate.

 A private Date data field named dateCreated that stores the date when the account was created.

 A no-arg constructor that creates a default account.

 A constructor that creates an account with the specified id and initial balance.

 The accessor (getter) and mutator (setter) methods for id, balance, and annualInterestRate.

 The accessor (getter) method for dateCreated.

 A method named getMonthlyInterestRate() that returns the monthly interest rate.

 A method named getMonthlyInterest() that returns the monthly interest.

 A method named withdraw that withdraws a specified amount from the account.

 A method named deposit that deposits a specified amount to the account.

Your tasks are as follows:

1. Draw the UML diagram for the class Account.

2. Implement the class using Java programming language. (Hint: The method getMonthlyInterest()

is to return monthly interest, not the interest rate. Monthly interest is computed as balance *

monthlyInterestRate. monthlyInterestRate is annualInterestRate/12. Note that annualInterestRate

is a percentage, e.g., like 4.5%. You need to divide it by 100).

3. Use the Account class created above to simulate an ATM machine. Create ten accounts in an

array with id 0, 1, …, 9, and initial balance $100. The system prompts the user to enter an id. If

the id is entered incorrectly, ask the user to enter a correct id. Once an id is accepted, the main

menu is displayed as shown in the sample run (see below). You can enter a choice 1 for viewing

the current balance, 2 for withdrawing money, 3 for depositing money, and 4 for exiting the main

menu. Once you exit, the system will prompt for an id again. Thus, once the system starts, the

ATM machine will not stop.

Sample run of the ATM machine is as follows:

Enter an id to start transactions: 4

Main menu

1: check balance

2: withdraw

3: deposit

4: exit

Enter a choice: 1

The balance is 100.0

Main menu

1: check balance

2: withdraw

3: deposit

4: exit

Enter a choice: 2

Enter an amount to withdraw: 3

Main menu

1: check balance

2: withdraw

3: deposit

4: exit

Enter a choice: 1

The balance is 97.0

Main menu

1: check balance

2: withdraw

3: deposit

4: exit

Enter a choice: 3

Enter an amount to deposit: 10

Main menu

1: check balance

2: withdraw

3: deposit

4: exit

Enter a choice: 1

The balance is 107.0

Main menu

1: check balance

2: withdraw

3: deposit

4: exit

Enter a choice: 4

Enter an id to start transactions:



public class TestAccount {

public static void main(String[] args) {

// TODO Auto-generated method stub

 Account myAccount;

 Account[] accounts = new Account[10];

 

  for (int i = 0; i < 10; i++){

  accounts[i] = new Account(i,100);

  }

}

}



import java.util.Date;

 

public class Account {

   private int id;

   private double balance;

   static private double annualIntRate;

   private Date dateCreated;

// no arg constructor

   

   Account(){

  dateCreated = new Date();

   }

   // constructor with two args

   Account(int id, double balance){

      this.id = id;

      this.balance = balance;

      dateCreated = new Date();

   }

   

   //setter for id

   void setid(int id){

   this.id = id;   

   }

   // getter for id

   int getid(){

   return id;

   }

    // setter for annualIntRate

    static void setAnnualIntRate(double annualRate){

    annualIntRate = annualRate;

    }

   // getter for annualIntRate

  static double getAnnualIntRate(){

  return annualIntRate;

  }

   // deposit method

  void deposit(double amount){

     balance = balance + amount;

  }

   

   

}// end of account class




 









Step by Step Solution

3.45 Rating (161 Votes )

There are 3 Steps involved in it

Step: 1

Detailed Explanation Introduction to ObjectOriented Programming OOP and the Account Class ObjectOriented Programming OOP is a programming paradigm that revolves around the concept of objects which can ... blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

College Algebra

Authors: Michael Sullivan, Michael Sullivan III

11th Edition

0135226864, 9780135226865

More Books

Students also viewed these Programming questions

Question

What is a baseline?

Answered: 1 week ago

Question

In Problems 1968, solve each equation, if possible. X x + 2 3 2

Answered: 1 week ago