import [Link].
ArrayList;
import [Link];
// Account class representing a bank account
class Account {
private String accountNumber;
private String accountHolder;
private double balance;
public Account(String accountNumber, String accountHolder, double balance) {
[Link] = accountNumber;
[Link] = accountHolder;
[Link] = balance;
public String getAccountNumber() {
return accountNumber;
public String getAccountHolder() {
return accountHolder;
public double getBalance() {
return balance;
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
[Link]("Successfully deposited. Deposit Amount=" + amount);
} else {
[Link]("Deposit amount must be greater than zero.");
public void withdraw(double amount) {
if (amount > 0 && amount <= balance) {
balance -= amount;
[Link]("Successfully withdrew. Withdraw Amount= " + amount);
} else {
[Link]("Insufficient balance or invalid amount.");
}
// Bank class to manage multiple accounts
class Bank {
private ArrayList<Account> accounts;
public Bank() {
accounts = new ArrayList<>();
public void createAccount(String accountNumber, String accountHolder, double initialDeposit) {
if (findAccount(accountNumber) != null) {
[Link]("Account with this number already exists.");
return;
Account newAccount = new Account(accountNumber, accountHolder, initialDeposit);
[Link](newAccount);
[Link]("Account successfully created.");
public Account findAccount(String accountNumber) {
for (Account account : accounts) {
if ([Link]().equals(accountNumber)) {
return account;
return null;
public void deposit(String accountNumber, double amount) {
Account account = findAccount(accountNumber);
if (account != null) {
[Link](amount);
} else {
[Link]("Account not found.");
public void withdraw(String accountNumber, double amount) {
Account account = findAccount(accountNumber);
if (account != null) {[Link](amount);
} else {
[Link]("Account not found.");
}
public void checkBalance(String accountNumber) {
Account account = findAccount(accountNumber);
if (account != null) {
[Link]("Account Holder: " + [Link]());
[Link]("Balance: " + [Link]());
} else {
[Link]("Account not found.");
// Main class to run the program
public class BankAccountSystem {
public static void main(String[] args) {
Scanner scanner = new Scanner([Link]);
Bank bank = new Bank();
while (true) {
[Link]("\n--- Bank Account System ---");
[Link]("1. Create Account");
[Link]("2. Deposit Money");
[Link]("3. Withdraw Money");
[Link]("4. Check Balance");[Link]("5. Exit");
[Link]("Choose an option: ");
int choice = [Link]();
[Link](); // Consume newline
switch (choice) {
case 1:
[Link]("Enter Account Number: ");
String accountNumber = [Link]();
[Link]("Enter Account Holder Name: ");
String accountHolder = [Link]();
[Link]("Enter Initial Deposit: ");
double initialDeposit = [Link]();
[Link](accountNumber, accountHolder, initialDeposit);
break;
case 2:
[Link]("Enter Account Number: ");
accountNumber = [Link]();
[Link]("Enter Deposit Amount: ");
double depositAmount = [Link]();
[Link](accountNumber, depositAmount);
break;
case 3:
[Link]("Enter Account Number: ");
accountNumber = [Link]();
[Link]("Enter Withdrawal Amount: ");
double withdrawalAmount = [Link]();
[Link](accountNumber, withdrawalAmount);
break;case 4:
[Link]("Enter Account Number: ");
accountNumber = [Link]();
[Link](accountNumber);
break;
case 5:
[Link]("Exiting the program. Goodbye!");
[Link]();
return;
default:
[Link]("Invalid choice. Please try again.");