Oops

 avatar
unknown
plain_text
5 months ago
3.4 kB
7
Indexable
import java.util.Scanner;

public class HDFCBanking {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double balance = 0.0; // Initial balance
        boolean exit = false; // Condition to terminate the loop
        
        while (!exit) {
            // Display options to the user
            System.out.println("\n--- HDFC Banking System ---");
            System.out.println("1. Deposit");
            System.out.println("2. Withdrawal");
            System.out.println("3. Check Balance");
            System.out.println("4. Exit");
            System.out.print("Please select an option: ");
            
            int option = scanner.nextInt(); // User input for menu option
            
            switch (option) {
                case 1: // Deposit
                    System.out.print("Enter amount to deposit: ");
                    double depositAmount = scanner.nextDouble();
                    if (depositAmount > 0) {
                        balance += depositAmount;
                        System.out.println("Amount deposited successfully.");
                        System.out.println("Available Balance: " + balance);
                    } else {
                        System.out.println("Please enter a valid deposit amount.");
                    }
                    break;
                    
                case 2: // Withdrawal
                    System.out.print("Enter amount to withdraw: ");
                    double withdrawAmount = scanner.nextDouble();
                    try {
                        // Case 1: Amount > 0 and Amount <= Balance
                        if (withdrawAmount > 0 && withdrawAmount <= balance) {
                            balance -= withdrawAmount;
                            System.out.println("Amount withdrawn successfully.");
                            System.out.println("Available Balance: " + balance);
                        }
                        // Case 2: Amount < 0
                        else if (withdrawAmount <= 0) {
                            System.out.println("Please enter a valid withdrawal amount.");
                        }
                        // Case 3: Amount > Balance
                        else {
                            throw new InsufficientBalanceException("Insufficient balance to withdraw " + withdrawAmount);
                        }
                    } catch (InsufficientBalanceException e) {
                        System.out.println(e.getMessage());
                        exit = true; // Exit the loop in case of insufficient balance
                    }
                    break;
                    
                case 3: // Check Balance
                    System.out.println("Available Balance: " + balance);
                    break;
                    
                case 4: // Exit
                    System.out.println("Thank you for using HDFC Banking. Goodbye!");
                    exit = true;
                    break;
                    
                default:
                    System.out.println("Invalid option. Please try again.");
                    break;
            }
        }
        scanner.close();
    }
}

// Custom Exception for insufficient balance
class InsufficientBalanceException extends Exception {
    public InsufficientBalanceException(String message) {
        super(message);
    }
}
Editor is loading...
Leave a Comment