Java Program Design a class named Account that contains A pr
Java Program:
Design a class named Account that contains: A private int data field named id for the account (default theta). A private double data field named balance for the account (default theta). A private double data field named annualInterestRate that stores the current interest rate (default theta). 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. 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.Solution
Ans: The code required is below and explained with comments.
public class Test {
public static void main (String[] args) {
Account account = new Account(1122, 20000); //account id, balance
Account.setAnnualInterestRate(4.5);
account.withdraw(2500); //withdraw
account.deposit(3000); //deposit
System.out.println(\"Balance is \" + account.getBalance());
System.out.println(\"Monthly interest is \" +
account.getMonthlyInterest());
System.out.println(\"This account was created at \" + account.getDateCreated()); //date of account creation
}
}
class Account {
private int id;
private double balance;
private static double annualInterestRate;
private java.util.Date dateCreated;
public Account() {
dateCreated = new java.util.Date();
}
public Account(int newId, double newBalance) {
id = newId;
balance = newBalance;
dateCreated = new java.util.Date();
}
public int getId() {
return this.id;
}
public double getBalance() {
return balance; // method for getting balance
}
public static double getAnnualInterestRate() {
return annualInterestRate; //for annualinterest rate
}
public void setId(int newId) {
id = newId; // cust id
}
public void setBalance(double newBalance) {
balance = newBalance;
}
public static void setAnnualInterestRate(double newAnnualInterestRate) {
annualInterestRate = newAnnualInterestRate;
}
public double getMonthlyInterest() {
return balance * (annualInterestRate / 1200);
}
public java.util.Date getDateCreated() {
return dateCreated;
}
public void withdraw(double amount) {
balance -= amount;
}
public void deposit(double amount) {
balance += amount;
}
}


