Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- class InsufficientFundsException extends Exception{
- public InsufficientFundsException(String message){
- super(message);
- }
- }
- class BankAccount{
- private String accountHolder;
- private double balance;
- public BankAccount(String accountHolder){
- this.accountHolder = accountHolder;
- this.balance = 0.0;
- }
- public BankAccount(String accountHolder, double initialDeposit){
- this.accountHolder = accountHolder;
- this.balance = initialDeposit;
- }
- public double checkBalance(){
- return balance;
- }
- public void deposit(double amount){
- if(amount>0){
- balance+=amount;
- System.out.println("Deposited $"+amount);
- }else{
- System.out.println("Amount must be positive");
- }
- }
- public void withdraw(double amount) throws InsufficientFundsException{
- if(amount<=0){
- System.out.println("Amount must be positive");
- return;
- }
- if(amount>balance){
- throw new InsufficientFundsException("Insufficient Funds for Withdrawal");
- }
- balance-=amount;
- System.out.println("Withdrawn $"+amount);
- }
- public void displayInfo(){
- System.out.println("Account Holder's Name: "+accountHolder);
- System.out.println("Account Balance: $"+balance);
- }
- }
- public class BankingSystem{
- public static void main(String[] args){
- Scanner read = new Scanner(System.in);
- System.out.println("Enter Account Holder's name:");
- String name = read.nextLine();
- BankAccount account = new BankAccount(name);
- int choice=-1;
- do{
- System.out.println("Banking System\n1. Check Balance\n2. Deposit Money\n3. Withdraw Money\n4. Display Account Information\n5. Exit\nEnter your choice:");
- try{
- choice = read.nextInt();
- switch(choice){
- case 1:
- System.out.println("Current Balance: $"+account.checkBalance());
- break;
- case 2:
- System.out.print("Enter the amount to deposit: ");
- double depAmount = read.nextDouble();
- account.deposit(depAmount);
- break;
- case 3:
- System.out.print("Enter the amount to withdraw: ");
- double witAmount = read.nextDouble();
- account.withdraw(witAmount);
- break;
- case 4:
- account.displayInfo();
- break;
- case 5:
- System.out.print("Exited");
- break;
- }
- }catch(InsufficientFundsException e){
- System.out.println("Error: "+e.getMessage());
- }catch(InputMismatchException e){
- System.out.println("Invalid input, please enter valid number");
- read.next();
- }
- }while(choice!=5);
- read.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement