In: Computer Science
Java - Design a class named Account that contains:
A private String data field named accountNumber for the account (default AC000).
A private double data field named balance for the account (default 0).
A private double data field named annualIntRate 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 account number and initial balance.
The accessor and mutator methods for accountNumber, balance, and annualIntRate
The accessor method for dateCreated.
A method named getMonthlyIntRate() that returns the monthly interest rate (see note below).
A method named getMonthlyInt() that returns the monthly interest (see note below).
A method named withdraw that withdraws a specified amount from the account, do not allow withdrawing and give appropriate message if the withdraw amount is more than the balance.
A method named deposit that deposits a specified amount to the account, do not allow depositing if the amount is negative.
Write java codes for the class. Note that you need to write java codes for all methods except the following methods: getMonthlyIntRate(), and getMonthlyInt(). However, for these two methods you need to write method header.
Write a test program that creates an Account object with an account number of AC1111, a balance of $25,000, and an annual interest rate of 3.5. Use the withdraw method to withdraw $3,500, use the deposit method to deposit $3,500, and print the balance, the monthly interest, and the date when this account was created
Code:-
import java.util.*; public class Account { // Setting Fields private String accountNumber; private double balance; private double annualIntRate; private Date dateCreated; public Account() { // Default Constructor dateCreated = java.util.Calendar.getInstance().getTime(); } public Account(String accountNumber, double balance) { // Constructor with Argument this.accountNumber = accountNumber; this.balance = balance; dateCreated = java.util.Calendar.getInstance().getTime(); System.out.println("Account is Created. Balance : "+getBalance()); } // Accessor and Mutator of fields created public String getAccountNumber() { return accountNumber; } public void setAccountNumber(String accountNumber) { this.accountNumber = accountNumber; } public double getBalance() { return balance; } public Date getDateCreated() { return dateCreated; } public void setBalance(double balance) { this.balance = balance; } public double getAnnualIntRate() { return annualIntRate; } public void setAnnualIntRate(double annualIntRate) { this.annualIntRate = annualIntRate; } public void getMonthlyIntRate() {} // Function defn. as asked public void getMonthlyInt() {} // Function defn. as asked public void withdraw(double amount){ if(amount>getBalance()){ // Withdraw Function System.out.println("Balance amount is insufficient."); } else{ double a = getBalance()-amount; setBalance(a); System.out.println("Amount is debited. Remaining Balance : "+getBalance()); } } public void deposit(double amount){ if(amount<0){ // Deposit Function System.out.println("Amount deposited is negative."); } else{ double a = getBalance()+amount; setBalance(a); System.out.println("Amount is credited. Remaining Balance : "+getBalance()); } } public static void main(String[] args) { Account acc = new Account("AC1111", 25000); // Creating Account acc.setAnnualIntRate(3.5); // Setting Annual Interest rate acc.withdraw(3500); // Withdrawing 3500$ from account acc.deposit(3500); // Depositing 3500$ in account System.out.println("The balance in account is : "+acc.getBalance()); System.out.println("The date on which account is created : "+acc.getDateCreated()); } }
OUTPUT:-