(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());
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.