online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
import java.util.Scanner; //abhinavgautam08 import java.util.InputMismatchException; //abhinavgautam08 class Account { private int accountNumber; private String accountHolderName; private double balance; private String email; private String phoneNumber; public Account(int accountNumber, String accountHolderName, double initialDeposit, String email, String phoneNumber) { this.accountNumber = accountNumber; this.accountHolderName = accountHolderName; this.balance = initialDeposit; this.email = email; this.phoneNumber = phoneNumber; } public int getAccountNumber() { return accountNumber; } public void deposit(double amount) { if (amount > 0) { balance += amount; System.out.println("Deposit successful! Current balance: " + balance); } else { System.out.println("Deposit amount must be positive."); } } public void withdraw(double amount) { if (amount <= 0) { System.out.println("Withdrawal amount must be positive.");//abhinavgautam08 } else if (amount > balance) { System.out.println("Insufficient balance."); } else { balance -= amount; System.out.println("Withdrawal successful! Current balance: " + balance);//abhinavgautam08 } }//abhinavgautam08 public void displayAccountDetails() { System.out.println("\n=== Account Details ==="); System.out.println("AC Number: " + accountNumber); System.out.println("Holder Name: " + accountHolderName); System.out.println("Balance: " + balance); System.out.println("Email: " + email); System.out.println("Phone: " + phoneNumber); } public void updateContactDetails(String email, String phoneNumber) { if (isValidEmail(email) && isValidPhone(phoneNumber)) { this.email = email; this.phoneNumber = phoneNumber; System.out.println("Contact details updated successfully."); } else { System.out.println("Invalid email or phone number format."); } } private boolean isValidEmail(String email) { return email.contains("@") && email.contains("."); } private boolean isValidPhone(String phone) { return phone.matches("\\d{10}"); } } class Main { // Data storage private static Account[] accounts = new Account[100]; private static int accountCount = 0; private static int nextAccountNumber = 1001; private static Scanner sc = new Scanner(System.in); // Entry point public static void main(String[] args) { System.out.println("Welcome to the Banking Application! CLI"); mainMenu();//abhinavgautam08 } private static void mainMenu() { while (true) { try { System.out.println("\n=== Main Menu ==="); System.out.println("1. Create a new account"); System.out.println("2. Deposit money"); System.out.println("3. Withdraw money"); System.out.println("4. View account details"); System.out.println("5. Update contact details"); System.out.println("6. Exit"); System.out.print("Enter your choice: "); int choice = sc.nextInt(); sc.nextLine(); // Switch menu options switch (choice) { case 1 -> createAccount(); case 2 -> performDeposit(); case 3 -> performWithdrawal(); case 4 -> showAccountDetails(); case 5 -> updateContact(); case 6 -> { System.out.println("Exiting... Thank you for using the Banking Application!"); return;//abhinavgautam08 } default -> System.out.println("Invalid choice. Try again.");//abhinavgautam08 } } catch (InputMismatchException e) { System.out.println("Invalid input. Please enter numbers only."); sc.nextLine();//abhinavgautam08 } } } private static void createAccount() { System.out.print("Enter account holder name: ");//abhinavgautam08 String name = sc.nextLine(); System.out.print("Enter initial deposit amount: "); double initialDeposit = sc.nextDouble(); sc.nextLine(); System.out.print("Enter email address: "); String email = sc.nextLine(); System.out.print("Enter phone number (10 digits): "); String phone = sc.nextLine(); if (initialDeposit > 0 && email.contains("@") && phone.matches("\\d{10}")) { accounts[accountCount] = new Account(nextAccountNumber, name, initialDeposit, email, phone); System.out.println("Account created successfully with Account Number: " + nextAccountNumber); nextAccountNumber++; accountCount++; } else { System.out.println("Invalid input. Account creation failed."); } } private static void performDeposit() { Account acc = findAccount(); if (acc != null) { System.out.print("Enter amount to deposit: "); double amount = sc.nextDouble(); sc.nextLine(); acc.deposit(amount); } } private static void performWithdrawal() { Account acc = findAccount(); if (acc != null) { System.out.print("Enter amount to withdraw: "); double amount = sc.nextDouble(); sc.nextLine(); acc.withdraw(amount); } } private static void showAccountDetails() { Account acc = findAccount(); if (acc != null) { acc.displayAccountDetails();//abhinavgautam08 } } private static void updateContact() { Account acc = findAccount(); if (acc != null) { System.out.print("Enter new email: "); String email = sc.nextLine(); System.out.print("Enter new phone number: "); String phone = sc.nextLine(); acc.updateContactDetails(email, phone);//abhinavgautam08 } } private static Account findAccount() { System.out.print("Enter account number: "); int accNum = sc.nextInt(); sc.nextLine();//abhinavgautam08 for (int i = 0; i < accountCount; i++) { if (accounts[i].getAccountNumber() == accNum) { return accounts[i];//abhinavgautam08 } } System.out.println("Account not found."); return null; }//abhinavgautam08 }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue