In Java, create Transaction form to manage account balance. 1. Create transactio
ID: 3721003 • Letter: I
Question
In Java, create Transaction form to manage account balance.
1. Create transaction Options:
Deposits add to balance
Checks subtract from balance
if balance > check then subtract check from balance
else Display Insufficient Funds Message
and Subtract Service Charge ($10) from balance
Service Charge ($10) subtract from balance
2. Use Abstract Class Transaction to create classes:
class Deposit
class ServiceCharge
class Check
override the abstract function calculateBalance() in each class to perform the appropriate calculations on balance
throw an Exception in class Check.calculateBalance()
Check Amount is greater than Balance issue Insufficient Funds Message by throwing Exception in class Check.calculateBalance()
Use try catch to display the message from calling class.
Summary Message after each successful transaction or when Summary is selected from Menu
Explanation / Answer
public class InsufficientBalanceException extends Exception {
public InsufficientBalanceException(String msg) {
super(msg);
}
}
public class Account {
private int acno;
private String acname;
private int balance;
public Account(int acno, String acname, int balance)
{
this.acno=acno;
this.acname=acname;
this.balane=balance;
}
public int getBalance() {
return balance;
}
public void setBalance(int amount) {
balance=amount;
}
public void deposit(int amount) {
balance=balance+amount;
}
public void withdraw(int amount) throws InsufficientBalanceException {
if(balanve-amount-10>=1000)
balance=balance-amount-10; //service charge
else
throw new InsufficientBalanceException("Insufficient Funds");
}
public void display() {
System.out.println("Account number="+acno);
System.out.println("NAme="+acname);
System.out.println("Balance="+balance);
}
}
public class TestAccount {
public static void main(String[] args) {
Account a1=new Account(123,"Alice",10000);
System.out.println(a1.getBalance());
System.out.println("--------------------------");
a1.deposit(500);
System.out.println(a1.getBalance());
System.out.println("---------------------------");
int amount=10000;
try {
a1.withdraw(amount);
System.out.println(a1.getBalance());
}
catch(InsufficientBalanceException excep) {
System.out.println(excep.getMessage());
System.out.println("Cannot Withdraw");
}
a1.display();
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.