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

ID: 3558883 • Letter: #

Question

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

- A private int data field named id for the account.

- A private float data field named balance for the account.

- A private float data field named annualInterestRate that stores the current interest rate.

-A constructor that creates an account with the specified id (default 0), initial balance (default 100) and the annual interest rate (default 0)

-The accessor and mutator methods for id, balance, and annualInterestRate.

-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 the monthly interest amount, not the interest rate. Use this formula to calculate the monthly interest: balance * monthlyInterestRate. monthlyInterestRate is annualInterestRate / 12. Note that annualInterestRate is a percent (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 id, balance, monthly interest rate, and monthly interest.

Explanation / Answer

import java.util.*;

public class Account
{

//*A private int data field named id for the account (default 0)
private int id;

//*A private double data field named balance for the account (default 0)
private double balance;

//*A private double data field named anualInterestRate that stores the current interest rate (default 0). Assume all accounts have the same interest rate.
private static double annualInterestRate;

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

//*A no-arg constructor that creates a default account.
public Account()
{
dateCreated = new Date();
id = 0;
balance = 0;
}

//*A constructor that creates an account with a specified id and initial balance.
public Account(int id, double balance)
{
setID(id);
setBalance(balance);
dateCreated = new Date();
}

//*The accessor and mutator method for id, balance, and annualInterestRate
public int getID()
{
return id;
}
public void setID(int i)
{
id = i;
}

public double getBalance()
{
return balance;
}
public void setBalance(double b)
{
balance = b;
}

public static double getAnnualInterestRate()
{
return annualInterestRate;
}
public static void setAnnualInterestRate(double r)
{
annualInterestRate = r;
}

//*The accessor method for dateCreated
public Date getDateCreated()
{
return dateCreated;
}

//* A method named getMonthlyInterestRate() that returns tyhe monthly interest rate.
public static double getMonthlyInterestRate()
{
return annualInterestRate/12;
}

//*A method named withdraw that withdraws a specified amount from the account
public void withdraw(double amount)
{
balance -= amount;
}

//*A method named deposit that deposits a specified amount from the account.
public void deposit(double amount)
{
balance += amount;
}

}



public class Test
{
public static void main(String[] args)
{
//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%.
Account test= new Account(1122, 20000);
Account.setAnnualInterestRate(0.045);

//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.
test.withdraw(2500);
test.deposit(3000);

System.out.println("Balance: "+test.getBalance());
System.out.println("Monthly interest: "+(test.getMonthlyInterestRate()*test.getBalance()));
System.out.println("Date created: "+test.getDateCreated());
}
}