For this exercise, you will be completing the Account class, which simulates a regular bank account, then using overrides and calls to the superclass to create a StudentAccount. Student accounts differ from regular accounts in that they get a bonus $1 for every deposit, but a $2 fee for every withdrawal. You will override the methods in the StudentAccount by calling the superclass methods with the additonal amount or fee incorporated since the balance is not directly stored in the StudentAccount object. You will also update the toString, as outlined in the comments. When completed, create one student account and one regular account for testing. Deposit and withdraw money and print the results. import java.text.*; public class BankTester { public static void main(String[] args) { Account a = new Account("Imran", 1100); a.deposit(200.00); System.out.println(acc1.toString()); a.withdraw(100.00); } } public class StudentAccount extends Account { // Complete this class with Override methods. public StudentAccount(String studentName, double openingBal){ super(name, balance); } // Students get a $1 bonus on depositing public void deposit(double amount){ balance = balance + amount; if ( balance == amount){ return balance+1; } } // Students pay a $2 fee for withdrawing public void withdrawal(double amount){ balance = balance - amount; if ( balance == amount){ return balance-2; } } // toString() Should read: Student account with a balance of $__.__ public String toString(){ String result = ""; NumberFormat fmt = NumberFormat.getCurrencyInstance(); result = "\n Name :"+ name+"\n Account Number :"+accountNum+"\n Balance:"+fmt.format(balance); return result; } } public class StudentAccount extends Account { // Complete this class with Override methods. public StudentAccount(String studentName, double openingBal){ super(name, balance); } // Students get a $1 bonus on depositing public void deposit(double amount){ balance = balance + amount; if ( balance == amount){ return balance+1; } } // Students pay a $2 fee for withdrawing public void withdrawal(double amount){ balance = balance - amount; if ( balance == amount){ return balance-2; } } // toString() Should read: Student account with a balance of $__.__ public String toString(){ String result = ""; NumberFormat fmt = NumberFormat.getCurrencyInstance(); result = "\n Name :"+ name+"\n Account Number :"+accountNum+"\n Balance:"+fmt.format(balance); return result; } }
For this exercise, you will be completing the Account class, which simulates a regular bank account, then using overrides and calls to the superclass to create a StudentAccount. Student accounts differ from regular accounts in that they get a bonus $1 for every deposit, but a $2 fee for every withdrawal. You will override the methods in the StudentAccount by calling the superclass methods with the additonal amount or fee incorporated since the balance is not directly stored in the StudentAccount object. You will also update the toString, as outlined in the comments. When completed, create one student account and one regular account for testing. Deposit and withdraw money and print the results.
import java.text.*;
public class BankTester
{
public static void main(String[] args)
{
Account a = new Account("Imran", 1100);
a.deposit(200.00);
System.out.println(acc1.toString());
a.withdraw(100.00);
}
}
public class StudentAccount extends Account
{
// Complete this class with Override methods.
public StudentAccount(String studentName, double openingBal){
super(name, balance);
}
// Students get a $1 bonus on depositing
public void deposit(double amount){
balance = balance + amount;
if ( balance == amount){
return balance+1;
}
}
// Students pay a $2 fee for withdrawing
public void withdrawal(double amount){
balance = balance - amount;
if ( balance == amount){
return balance-2;
}
}
// toString() Should read: Student account with a balance of $__.__
public String toString(){
String result = "";
NumberFormat fmt = NumberFormat.getCurrencyInstance();
result = "\n Name :"+ name+"\n Account Number :"+accountNum+"\n Balance:"+fmt.format(balance);
return result;
}
}
public class StudentAccount extends Account
{
// Complete this class with Override methods.
public StudentAccount(String studentName, double openingBal){
super(name, balance);
}
// Students get a $1 bonus on depositing
public void deposit(double amount){
balance = balance + amount;
if ( balance == amount){
return balance+1;
}
}
// Students pay a $2 fee for withdrawing
public void withdrawal(double amount){
balance = balance - amount;
if ( balance == amount){
return balance-2;
}
}
// toString() Should read: Student account with a balance of $__.__
public String toString(){
String result = "";
NumberFormat fmt = NumberFormat.getCurrencyInstance();
result = "\n Name :"+ name+"\n Account Number :"+accountNum+"\n Balance:"+fmt.format(balance);
return result;
}
}
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images