In: Computer Science
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
The following code consists of a Account Class which has data fields as accountNumber , balance , annualIntRate and dateCreated ..and two constructors as default and parameterised constructor ..and various accessor and mutator methods for the data fields ..also consists of withdraw , deposist functions and getMonthlyInt and getMonthIntRate whose function definiton has been assumed.
Code snippet and Screenshot
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package bank;
import java.util.Date;
/**
*
* @author vijay
*/
class Account{
private String accountNumber;//stores the account number
private double balance;//stores the balance
private double annualIntRate;//stores the annual interest rate
private Date dateCreated ;//stores the date created
Account()//NO argument constructor
{
accountNumber="AC000";//set account number to default value
balance=0;//set default balance
annualIntRate=0;//set annualIntRate as default
dateCreated=new Date();//initialize date as current date
}
Account(String accountNumber,double balance)//Parameterised constructor
{
this.accountNumber=accountNumber;//initialise accountNumber
this.balance=balance;//initialise balance
annualIntRate=3.5;//set annualIntRate to 3.5 as given in question
dateCreated=new Date();//initialize date as current date
}
String getAccountNumber() //accessor method for accountNumber
{
return accountNumber;
}
double getBalance()//accessor method for balance
{
return balance;
}
double getAnnualIntRate()//accessor method for annualIntRate
{
return annualIntRate;
}
Date getDateCreated()//accessor method for dateCreated
{
return dateCreated;
}
void setAccountNumber(String accountNumber)//mutator method for accountNumber
{
this.accountNumber=accountNumber;
}
void setBalance(double balance)//mutator method for balance
{
this.balance=balance;
}
void setAnnualIntRate(double annualIntRate)//mutator method for annualIntRate
{
this.annualIntRate=annualIntRate;
}
double getMonthlyIntRate()//returns the monthly interest rate
{
return annualIntRate/12;//assumed the definition
}
double getMonthlyInt()//returns the monthly interest
{
return ((annualIntRate)/1200)*balance;//assumeed the definition
}
void withdraw(double amount)//withdraws a particular amount from account
{
if(amount>balance)//check if amount exceeds balance
{
System.out.println("Insufficient balance");//notify the user
}
else
{
balance-=amount;//deduct the amount from balance
System.out.println("Successfully withdrawed "+amount);//notify the user
}
}
void deposit(double amount)//deposits a particular amount in account
{
if(amount<=0)//check if amount is negative
{
System.out.println("amount deposited must be greater than 0");//notify the user
}
else
{
balance+=amount;//add the amount in balance
System.out.println("Successfully deposited "+amount);//notify the user
}
}
}
public class Bank {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
//Input as given in question
Account accn=new Account("AC1111",25000);
double withdrawalAmount=3500;
accn.withdraw(withdrawalAmount);
double deposited=3500;
accn.deposit(deposited);
System.out.println("Balance :"+ accn.getBalance()+"\nMonthly interest :"+accn.getMonthlyInt()+"\nAccount created on :"+accn.getDateCreated());
}
}
Screenshot