JAVA PROGRAMING (The Account class) Design a class named Account that contains:
ID: 645232 • Letter: J
Question
JAVA PROGRAMING
(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
Explanation / Answer
import java.util.Date; public class Assign22 { public static void main(String[] args) { // TODO Auto-generated method stub Account account1 = new Account(1122, 20000, .045); account1.withdraw(2500); account1.deposit(3000); System.out.println("Date Created:" + java.util.Date dateCreated = new java.util.Date()); System.out.println("Account ID:" + account1.id); System.out.println("Balance:" + account1.getBalance()); System.out.println("Interest Rate:" + account1.getAnnualInterestRate()); System.out.println("Balance after withdraw of 2500:" + account1.getAnnualInterestRate()); System.out.println("Balance after deposit of 3000:" + account1.getAnnualInterestRate()); System.out.println("Monthly Interest:" + account1.id); System.out.println("Process completed."); } class Account { //define variables private int id; private double balance; // balance for account private double annualInterestRate; //stores the current interest rate private Date dateCreated; //stores the date account created //no arg construtor Account () { id = 0; balance = 0.0; annualInterestRate = 0.0; } //constructor with specific id and initial balance Account(int newId, double newBalance) { id = newId; balance = newBalance; } Account(int newId, double newBalance, double newAnnualInterestRate) { id = newId; balance = newBalance; annualInterestRate = newAnnualInterestRate; } //accessor/mutator methods for id, balance, and annualInterestRate public int getId() { return id; } public double getBalance() { return balance; } public double getAnnualInterestRate() { return annualInterestRate; } public void setId(int newId) { id = newId; } public void setBalance(double newBalance) { balance = newBalance; } public void setAnnualInterestRate(double newAnnualInterestRate) { annualInterestRate = newAnnualInterestRate; } //accessor method for dateCreated public void setDateCreated(Date newDateCreated) { dateCreated = newDateCreated; } //define method getMonthlyInterestRate double getMonthlyInterestRate() { return annualInterestRate/12; } //define method withdraw double withdraw(double amount) { return balance -= amount; } //define method deposit double deposit(double amount) { return balance += amount; } } }
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.