Question
java code please for the checking account only Design a base class to hold the following information about a bank account: Balance Number of deposits
java code please for the checking account only
Design a base class to hold the following information about a bank account:
Balance
Number of deposits this month
Number of withdrawals
Annual interest rate
Monthly service charges
The class should have the following member functions:
Constructor:
Accepts arguments for the balance and annual interest rate.
deposit:
A function that accepts an argument for the amount of the deposit. The function should add the argument to the account balance. It should also increment the variable holding the number of deposits.
withdraw:
A function that accepts an argument for the amount of the withdrawal. The function should subtract the argument from the balance. It should also increment the variable holding the number of withdrawals.
calcInt:A function that updates the balance by calculating the monthly interest earned by the account, and adding this interest to the balance. This is performed by the following formulas:
Monthly Interest Rate = (Annual Interest Rate / 12)
Monthly Interest = Balance * Monthly Interest Rate
Balance = Balance + Monthly Interest
monthlyProc:
A function that subtracts the monthly service charges from the balance, calls the calcInt function, and then sets the variables that hold the number of withdrawals, number of deposits, and monthly service charges to zero.
Next, design a savings account class, derived from the base account class. The savings account class should have the following additional member:
status (to represent an active or inactive account)
If the balance of a savings account falls below $25, it becomes inactive. (The status member could be a flag variable.) No more withdrawals may be made until the balance is raised above $25, at which time the account becomes active again.
The savings account class should have the following member functions:
withdraw:
A function that checks to see if the account is inactive before a withdrawal is made. (No withdrawal will be allowed if the account is not active.) A withdrawal is then made by calling the base class version of the function
deposit:
A function that checks to see if the account is inactive before a deposit is made. If the account is inactive and the deposit brings the balance above $25, the account becomes active again. The deposit is then made by calling the base class version of the function.
monthlyProc:
Before the base class function is called, this function checks the number of withdrawals. If the number of withdrawals for the month is more than 4, a service charge of $1 for each withdrawal above 4 is added to the base class variable that holds the monthly service charges. (Don't forget to check the account balance after the service charge is taken. If the balance falls below $25, the account becomes inactive.)
/////////////////////////////the checking account class is what i need ////////////////////////////////////////////////////////////////////////////////////////////////////
Next, design a checking account class, also derived from the base account class. It should have the following member functions:
withdraw:
Before the base class function is called, this function will determine if a withdrawal (a check written) will cause the balance to go below $0. If the balance goes below $0, a service charge of $15 will be taken from the account. (The withdrawal will not be made.) If there isn't enough in the account to pay the service charge, the balance will become negative and the customer will owe the negative amount to the bank.
monthlyProc:
Before the base class function is called, this function adds the monthly fee of $5 plus $0.10 per withdrawal (check written) to the base class variable that holds the monthly service charges.
Write a complete program that demonstrates these classes by asking the user to enter the amounts of deposits and withdrawals for a savings account and checking account. The program should display statistics for the month, including beginning balance, total amount of deposits, total amount of withdrawals, service charges, and ending balance.
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this is what i have so far :
public class SavingsAccount
{
//Data fields
private double balance; //Account Balance
private double annualInterestRate; //Account annual interest rate
private double monthlyInterestRate;
private double totalDeposits;
private double totalWithdraws;
private double totalInterest;
/**
* Constructor
* @param startBalance The account's balance.
* @param annual_Interest_Rate The annual interest rate.
*/
public SavingsAccount(double startBalance, double annual_Interest_Rate)
{
balance = startBalance;
annualInterestRate = annual_Interest_Rate;
}
/**
* The deposit method adds the amount to the balance
* and calculates the total deposit
* @param amount
*/
public void setDeposit(double amount)
{
balance += amount;
totalDeposits += amount;
}
/**
* The withdraw method subtracts the amount to the balance
* and calculates the total withdraws
* @param amount
*/
public void setWithdraw(double amount)
{
balance -= amount;
totalWithdraws += amount;
}
/**
* setAnnualInterestRate method sets the annual interest
* rate and calculates the monthly interest rate
* @param annual_Interest_Rate The annual interest rate.
*/
public void setAnnualInterestRate(double annual_Interest_Rate)
{
monthlyInterestRate = annualInterestRate / 12;
}
/**
* The calculateMonthlyInterest method calculates the total
* interest and adds the monthly interest to the balance
*/
public void calculateMonthlyInterest()
{
totalInterest = totalInterest + balance * monthlyInterestRate;
balance = balance + balance * monthlyInterestRate;
}
/**
* The getBalance method returns the account's balance.
* @return The value of the balance field.
*/
public double getBalance()
{
return balance;
}
/**
* The getAnnualInterestRate method returns the annual interest rate.
* @return The value of the annual interest rate field.
*/
public double getAnnualInterestRate()
{
return annualInterestRate;
}
/**
* The getMonthlyInterestRate method returns the monthly interest rate.
* @return The value of the monthly interest rate field.
*/
public double getMonthlyInterestRate()
{
return monthlyInterestRate;
}
/**
* The getTotalDeposits method returns the total deposit amount.
* @return The value of the total deposits field.
*/
public double getTotalDeposits()
{
return totalDeposits;
}
/**
* The getTotalWithdraws method returns the total withdraws amount.
* @return The value of the total withdraws field.
*/
public double getTotalWithdraws()
{
return totalWithdraws;
}
/**
* The getTotalInterest method returns the total interest amount.
* @return The value of the total interest field.
*/
public double getTotalnterest()
{
return totalInterest;
}
public void displayData()
{
balance = Math.round(balance * 100.0) / 100.0;
totalInterest = Math.round(totalInterest * 100.0) / 100.0;
System.out.println();
System.out.println("The ending balance is: $" + balance);
System.out.println("Total amount of deposits: $" + totalDeposits);
System.out.println("Total amount of withdraws: $" + totalWithdraws);
System.out.println("Total interest earned: $" + totalInterest);
}
}
import java.util.Scanner;
public class SavingsAccountTest
{
public static void main(String[] args)
{
double startBalance;
double annual_Interest_Rate;
int months;
double deposit_Amount;
double withdraw_Amount;
//Create an object for Scanner class
Scanner input = new Scanner(System.in);
//Prompt user for starting balance
System.out.print("Enter starting balance: $");
startBalance = input.nextDouble();
//Prompt user for annual interest rate
System.out.print("Enter annual interest rate: ");
annual_Interest_Rate = input.nextDouble();
//Prompt user for number of months
System.out.print("Enter the number of months: ");
months = input.nextInt();
/* Create an object for SavingsAccount class */
SavingsAccount sa = new
SavingsAccount(startBalance, annual_Interest_Rate);
//Call to setAnnualInterestRate method
sa.setAnnualInterestRate(annual_Interest_Rate);
//a for Loop
for (int i = 0; i < months; i++)
{
/* Prompt user for deposit amount */
System.out.print("Enter amount to deposit for the month " + (i+1) + ":$");
deposit_Amount = input.nextDouble();
//Call to deposit method
sa.setDeposit(deposit_Amount);
/* Prompt user for amount to withdraw */
System.out.print("Enter amount to withdraw for the month " + (i+1) + ":$");
withdraw_Amount = input.nextDouble();
//Call to withdraw method
sa.setWithdraw(withdraw_Amount);
/* Call to calculateMonthlyInterest method */
sa.calculateMonthlyInterest();
}
//Call to displayData method
sa.displayData();
}
}
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started