Design a class named Account that contains: 1. A private int data field named id
ID: 3648657 • Letter: D
Question
Design a class named Account that contains:1. A private int data field named id for the account (default 0).
2. A private double data field named balance for the account (default 0).
3. A private double data field named annualInterestRate that stores the current interest rate (default 0). Assume all accounts have the same interest rate.
4. A private Date data field named dateCreated that stores the date when the account was created.
5. A no-arg constructor that creates a default account.
6. A constructor that creates an account with the specified id and initial balance.
7. The accessor and mutator methods for id, balance, and annualInterestRate.
8. The accessor method for dateCreated.
9. A method named getMonthlyInterestRate() that returns the monthly interest rate.
10. A method named withdraw that withdraws a specified amount from the account.
11. A method named deposit that deposits a specified amount to the account.
Part I - Testing
Use the following test program to create an Account object with an account ID of 1122, a balance of $20,000, and an annual interest rate of 4.5%. Then using the withdraw method $2,500 is withdrawn, and the deposit method is used to deposit $3,000. Finally the balance, the monthly interest, and the date when this account was created are printed.
import java.text.*;
public class TestAccount {
public static void main (String[] args) {
DecimalFormat fmt_twoDecimalPlaces = new DecimalFormat("0.00");
Account account = new Account(1122, 20000);
Account.setAnnualInterestRate(4.5);
account.withdraw(2500);
account.deposit(3000);
System.out.println("Balance is " +
fmt_twoDecimalPlaces.format(account.getBalance()));
System.out.println("Monthly interest is " +
fmt_twoDecimalPlaces.format( account.getMonthlyInterest() ));
System.out.println("This account was created at " +
account.getDateCreated());
}
}
If you have written the Account class correctly, you should see the following displayed:
Balance is $20500.00
Monthly interest is $76.88
This account was created at < day and time that you correctly run the program> ( e.g.Wed Aug 15 15:22:31 CEST 2012)
Part II Design using inheritance:
( 30 pts)Next create two subclasses of the Account class
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.