Design a class named Account that contains: * A private int data field named id
ID: 675209 • Letter: D
Question
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 specific 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 withdraw that withdraws a specified amount from the account A method named deposit that deposits a specified amount to 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 balanace, the monthly interest, and the date when this account was created.
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());
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.