Need help setting initial balances in Bank Account program. - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

Need help setting initial balances in Bank Account program.

UNF_StephUNF_Steph Posts: 13Member
[code]//Demonstrates the BankAccount and derived classes

import java.text.*; // to use Decimal Format

public class AccountDriver
{
public static void main(String[] args)
{
double put_in = 500;
double take_out = 1000;

DecimalFormat myFormat;
String money;
String money_in;
String money_out;
boolean completed;

// to get 2 decimals every time
myFormat = new DecimalFormat("#.00");

//to test the Checking Account class
CheckingAccount myCheckingAccount =
new CheckingAccount ("Benjamin Franklin", 1000);
System.out.println ("Account Number "
+ myCheckingAccount.getAccountNumber() +
" belonging to " + myCheckingAccount.getOwner());
money = myFormat.format(myCheckingAccount.getBalance());
System.out.println ("Initial balance = $" + money);
myCheckingAccount.deposit (put_in);
money_in = myFormat.format(put_in);
money = myFormat.format(myCheckingAccount.getBalance());
System.out.println ("After deposit of $" + money_in
+ ", balance = $" + money);
completed = myCheckingAccount.withdraw(take_out);
money_out = myFormat.format(take_out);
money = myFormat.format(myCheckingAccount.getBalance());
if (completed)
{
System.out.println ("After withdrawal of $" + money_out
+ ", balance = $" + money);
}
else
{
System.out.println ("Insuffient funds to withdraw $"
+ money_out + ", balance = $" + money);
}
System.out.println();

//to test the savings account class
SavingsAccount yourAccount =
new SavingsAccount ("William Shakespeare", 400);
System.out.println ("Account Number "
+ yourAccount.getAccountNumber() +
" belonging to " + yourAccount.getOwner());
money = myFormat.format(yourAccount.getBalance());
System.out.println ("Initial balance = $" + money);
yourAccount.deposit (put_in);
money_in = myFormat.format(put_in);
money = myFormat.format(yourAccount.getBalance());
System.out.println ("After deposit of $" + money_in
+ ", balance = $" + money);
completed = yourAccount.withdraw(take_out);
money_out = myFormat.format(take_out);
money = myFormat.format(yourAccount.getBalance());
if (completed)
{
System.out.println ("After withdrawal of $" + money_out
+ ", balance = $" + money);
}
else
{
System.out.println ("Insuffient funds to withdraw $"
+ money_out + ", balance = $" + money);
}
yourAccount.postInterest();
money = myFormat.format(yourAccount.getBalance());
System.out.println ("After monthly interest has been posted,"
+ "balance = $" + money);
System.out.println();


// to test the copy constructor of the savings account class
SavingsAccount secondAccount =
new SavingsAccount (yourAccount,5);
System.out.println ("Account Number "
+ secondAccount.getAccountNumber()+
" belonging to " + secondAccount.getOwner());
money = myFormat.format(secondAccount.getBalance());
System.out.println ("Initial balance = $" + money);
secondAccount.deposit (put_in);
money_in = myFormat.format(put_in);
money = myFormat.format(secondAccount.getBalance());
System.out.println ("After deposit of $" + money_in
+ ", balance = $" + money);
secondAccount.withdraw(take_out);
money_out = myFormat.format(take_out);
money = myFormat.format(secondAccount.getBalance());
if (completed)
{
System.out.println ("After withdrawal of $" + money_out
+ ", balance = $" + money);
}
else
{
System.out.println ("Insuffient funds to withdraw $"
+ money_out + ", balance = $" + money);
}
System.out.println();

//to test to make sure new accounts are numbered correctly
CheckingAccount yourCheckingAccount =
new CheckingAccount ("Issac Newton", 5000);
System.out.println ("Account Number "
+ yourCheckingAccount.getAccountNumber()
+ " belonging to "
+ yourCheckingAccount.getOwner());

}
}
[/code]

[code]public abstract class BankAccount
{
// class variable so that each account has a unique number
protected static int numberOfAccounts = 100001;

// current balance in the account
private double balance;
// name on the account
private String owner;
// number bank uses to identify account
private String accountNumber;

//default constructor
public BankAccount()
{
balance = 0;
accountNumber = numberOfAccounts + "";
numberOfAccounts++;
}

//standard constructor
public BankAccount(String name, double amount)
{
owner = name;
balance = amount;
accountNumber = numberOfAccounts + "";
numberOfAccounts++;
}

//copy constructor
public BankAccount(BankAccount oldAccount, double amount)
{
owner = oldAccount.owner;
balance = amount;
accountNumber = oldAccount.accountNumber;
}

//allows you to add money to the account
public void deposit(double amount)
{
balance = balance + amount;
}

//allows you to remove money from the account if
//enough money is available
//returns true if the transaction was completed
//returns false if the there was not enough money
public boolean withdraw(double amount)
{
boolean completed = true;

if (amount <= balance)
{
balance = balance - amount;
}
else
{
completed = false;
}
return completed;
}

//accessor method to balance
public double getBalance()
{
return balance;
}

//accessor method to owner
public String getOwner()
{
return owner;
}

//accessor method to account number
public String getAccountNumber()
{
return accountNumber;
}

//mutator method to change the balance
public void setBalance(double newBalance)
{
balance = newBalance;
}

//mutator method to change the account number
public void setAccountNumber(String newAccountNumber)
{
accountNumber = newAccountNumber;
}
}[/code]

[code]public class SavingsAccount extends BankAccount
{



public SavingsAccount(String string, double rate)
{
interestRate = .025;
}
public SavingsAccount(SavingsAccount yourAccount, int rate) {

}
public void addInterest()
{
double interest = getBalance() * interestRate / 12;
deposit(interest);
}
private double interestRate;


public void postInterest() {
double balance = getBalance();
balance += (balance * interestRate);
deposit(balance);

}

}

[/code]

[code]public class CheckingAccount extends BankAccount {

private int transactionCount;

private static final int FREE_TRANSACTIONS = 0;
private static final double TRANSACTION_FEE = 0.15;

public CheckingAccount(String string, double initialBalance)
{
// Construct superclass
super(string, initialBalance);

// Initialize transaction count
transactionCount = 0;
}
public void deposit(double amount)
{
transactionCount++;
// Now add amount to balance
super.deposit(amount);
}

public boolean withdraw(double amount)
{
transactionCount++;
return super.withdraw(amount);
}
public void deductFees()
{

}


}
[/code]
[b]
Expected output:[/b]
Account Number 100001-10 belonging to Benjamin Franklin
Initial balance = $1000.00
After deposit of $500.00, balance = $1500.00
After withdrawal of $1000.00, balance = $499.85

Account Number 100002-0 belonging to William Shakespeare
Initial balance = $400.00
After deposit of $500.00, balance = $900.00
Insuffient funds to withdraw $1000.00, balance = $900.00
After monthly interest has been posted,balance = $901.88

Account Number 100002-1 belonging to William Shakespeare
Initial balance = $5.00
After deposit of $500.00, balance = $505.00
Insuffient funds to withdraw $1000.00, balance = $505.00

Account Number 100003-10 belonging to Issac Newton


[b]Output I am getting:[/b]
Account Number 100001 belonging to Benjamin Franklin
Initial balance = $1000.00
After deposit of $500.00, balance = $1500.00
After withdrawal of $1000.00, balance = $500.00

Account Number 100002 belonging to null
Initial balance = $.00
After deposit of $500.00, balance = $500.00
Insuffient funds to withdraw $1000.00, balance = $500.00
After monthly interest has been posted,balance = $1012.50

Account Number 100003 belonging to null
Initial balance = $.00
After deposit of $500.00, balance = $500.00
Insuffient funds to withdraw $1000.00, balance = $500.00

Account Number 100004 belonging to Issac Newton

Comments

  • dhillon_sarbdhillon_sarb Posts: 1Member
    SavingAcccount need to be change like this.

    public class SavingsAccount extends BankAccount
    {



    public SavingsAccount(String string, double rate)
    {

    super(string,rate);
    }
    public SavingsAccount(SavingsAccount yourAccount, int rate) {
    super(yourAccount,rate);
    }
    public void addInterest()
    {
    double interest = getBalance() * interestRate / 12;
    deposit(interest);
    }
    private double interestRate;


    public void postInterest() {
    double balance = getBalance();
    balance += (balance * interestRate);
    deposit(balance);

    }

    }
Sign In or Register to comment.