Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

(The Account class) Design a class named Account that contains: A private int da

ID: 3831388 • Letter: #

Question

(The Account class) Design a class named Account that contains:

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 and mutator methods for id,balance, and annualInterestRate.

The accessor 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.

Draw the UML diagram for the class and then implement the class. (Hint: The method getMonthlyInterest() is to return monthly interest, not the interest rate. Monthly interest is balance*monthlyInterestRate.monthlyInterestRate is annualInterestRate / 12. Note that annualInterestRate is a percentage, e.g., like 4.5%. You need to divide it by 100.)

Write a test program that creates an Account object with an account ID of 1122, a balance of $20,000, and an annual interest rate of 4.5%. Use the withdraw method to withdraw $2,500, use the deposit method to deposit $3,000, and print the balance, the monthly interest, and the date when this account was created.

"Please use Eclipse to write this program"

Explanation / Answer

Account.java

import java.util.Date;

public class Account {
   // Declaring instance variables

   private int id = 0;
   private double balance = 0;
   private double annualInterestRate = 0;
   private Date dateCreated;

   // Zero argumented constructor

   public Account() {

   }

   // Parameterized constructor

   public Account(int id, double balance) {
       this.id = id;
       this.balance = balance;
       this.dateCreated = new Date();
   }

   // getters and setters

   public int getId() {
       return id;
   }

   public void setId(int id) {
       this.id = id;
   }

   public double getBalance() {
       return balance;
   }

   public void setBalance(double balance) {
       this.balance = balance;
   }

   public double getAnnualInterestRate() {
       return annualInterestRate;
   }

   public void setAnnualInterestRate(double annualInterestRate) {
       this.annualInterestRate = annualInterestRate;
   }

   public Date getDateCreated() {
       return dateCreated;
   }

   // this method will calculates the monthly interest rate
   public double getMonthlyInterestRate() {
       return annualInterestRate / 12;
   }

   // this method will calculates the monthly interest
   public double getMonthlyInterest() {
       return balance * (getMonthlyInterestRate() / 100);
   }

   // this method will withdraw specific amount from balance
   public void withdraw(double amount) {
       balance = balance - amount;
   }

   // this method will deposit specific amount from balance
   public void deposit(double amount) {
       balance = balance + amount;
   }

}

______________________

Test.java

public class Test {

   public static void main(String[] args) {
       /*
       * Creating An Account class Object by passing Id and balance as
       * arguments
       */
       Account acc = new Account(1122, 20000);

       // Setting the annual interest rate
       acc.setAnnualInterestRate(4.5);

       // Performs withdraw operation
       acc.withdraw(2500);

       // Performs deposit operation
       acc.deposit(3000);

       // Displaying balance
       System.out.println("Balance is :" + acc.getBalance());

       // Displaying Monthly Interest
       System.out.println("Monthly Interest :" + acc.getMonthlyInterest());

       // Displaying date on which account was created
       System.out.println("Account Created on :" + acc.getDateCreated());

   }

}

_______________________

Output:

Balance is :20500.0
Monthly Interest :76.875
Account Created on :Wed May 03 02:56:43 IST 2017

________________Thank You