Savings Account Class in java

Code Blah
3 min readFeb 15, 2019

--

(Savings Account Class) Create class SavingsAccount. Use a static variable annualInterestRate to store the annual interest rate for all account holders. Each object of the class contains a private instance variable savingsBalance indicating the amount the saver currently has on deposit.Provide method calculateMonthlyInterest to calculate the monthly interest by multiplying the savingsBalance by annualInterestRate divided by 12 — this interest should be added to savingsBalance. Provide a static method modifyInterestRate that sets the annualInterestRate to a new value. Write a program to test class SavingsAccount. Instantiate two savingsAccount objects,saver1 and saver2, with balances of $2000.00 and $3000.00, respectively. Set annualInterestRate to 4%, then calculate the monthly interest for each of 12 months and print the new balances for both savers. Next, set the annualInterestRate to 5%, calculate the next month’s interest and print the new balances for both savers.

Savings Account Class in java Program

/*
* Filename: SavingsAccount.java
*
* Description: Exercise 8.6 - Savings Account Class
*
* @Author: Bilal Tahir Khan Meo
* Website: https://codeblah.com
*
* =====================================================================================
*/
public class SavingsAccount{
private static double annualInterestRate = 0.0f;
private double savingsBalance = 0.0f;

// constructor
public SavingsAccount(double savingsBalance){
setSavingsBalance(savingsBalance);
}
// SETTERS
public void setSavingsBalance(double savingsBalance){
this.savingsBalance = savingsBalance;
}
// update the interest rate
public static void modifyInterestRate(double newInterestRate){
// check for negative interest rates
if(newInterestRate >= 0.0f)
annualInterestRate = newInterestRate;
else
throw new IllegalArgumentException("interest rate must be >= 0.0f");
}
// GETTERS
public double getSavingsBalance(){
return this.savingsBalance;
}
public static double getAnnualInterestRate(){
return annualInterestRate;
}
// calculates the monthly interest and update the savings balance
public void calculateMonthlyInterest(){
savingsBalance += (savingsBalance * annualInterestRate) / 12;
}
// return savingsBalance as string
public String toString(){
return String.format("%.2f", getSavingsBalance());
}
}

Method 2 : Savings Account Class in java Program

package savingsaccount;

public class SavingsAccount {

//variable to store annual interest rate
static private double annualInterestRate;
private double savingBalance;

//constructor method
public SavingsAccount()
{

}

//Constructor method
public SavingsAccount(double savingBalance)
{
this.savingBalance=savingBalance;
}

//Get saving balance
public double getSavingBalance()
{
return this.savingBalance;
}

// Modify interest rate by setting annual interest rate to a new value
public static void modifyInterestRate(double newInterestRate)
{
annualInterestRate=newInterestRate;
}

//Method to calculate monthly interest
public void calculateMonthlyInterest()
{
double monthlyI;
monthlyI= (double)(this.savingBalance*annualInterestRate/12);
this.savingBalance+=monthlyI;
}


public static void main(String[] args) {

// To test the class designed above
//Instantiate 2 saving account objects saver1 and saver2
SavingsAccount saver1, saver2;
saver1 = new SavingsAccount (2000.0);
saver2= new SavingsAccount (3000.0);

int total = 0;

//Set the annual interest rate to 4%=0.04
SavingsAccount.modifyInterestRate (0.04);

//Calculate monthly interest
saver1.calculateMonthlyInterest();
saver2.calculateMonthlyInterest();

//Print out the new balances for both savers
System.out.println("This month:\nSaver 1 balance= "+ saver1.getSavingBalance());
System.out.println("Saver 2 balance= "+ saver2.getSavingBalance());


//Change annual interest rate to 5%=0.05
SavingsAccount.modifyInterestRate(0.05);

//Calculate the next month interest rate and print out balances
saver1.calculateMonthlyInterest();
saver2.calculateMonthlyInterest();
System.out.println("Next month:\nSaver 1 balance= "+ saver1.getSavingBalance());
System.out.println("Saver 2 balance= "+ saver2.getSavingBalance());

}

Method 3 : Savings Account Class in java Program

public class SavingsAccount
{
private static double annualInterestRate;
private double savingsBalance;

protected SavingsAccount()
{
savingsBalance = 0;
annualInterestRate = 0;
}

protected SavingsAccount(double balance)
{
savingsBalance = balance;
annualInterestRate = 0;
}

protected void calculateMonthlyInterest()
{
System.out.println("Current savings balance: " + savingsBalance);
double monthlyInterest;
monthlyInterest = (savingsBalance * annualInterestRate)/12;
savingsBalance += monthlyInterest;
System.out.println("New savings balance: " + savingsBalance);
}

protected double getBalance()
{
return savingsBalance;
}

protected static void modifyInterestRate(double newInterestRate)
{
annualInterestRate = newInterestRate;
}
}

class SpecialSavings extends SavingsAccount
{
protected static void modifyInterestRate()
{
if(SavingsAccount.getBalance() > 10000)
{
modifyInterestRate(.1);
}
}
}

class Driver
{
public static void main(String[] args)
{
SavingsAccount saver1 = new SavingsAccount(2000);
SavingsAccount saver2 = new SavingsAccount(3000);

saver1.modifyInterestRate(.04);
saver1.calculateMonthlyInterest();
saver2.modifyInterestRate(.04);
saver2.calculateMonthlyInterest();

saver1.modifyInterestRate(.05);
saver1.calculateMonthlyInterest();
saver2.modifyInterestRate(.05);
saver2.calculateMonthlyInterest();
}
}

Originally published at codeblah.com on February 15, 2019.

--

--

Code Blah

Software Engineer and Architect, Teacher, Writer,Android Developer.|Coding | Programming | Blogger