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