import [Link].
ArrayList;
import [Link];
class Account {
private String accountNumber;
private String holderName;
private double balance;
public Account(String accountNumber, String holderName, double initialBalance)
{
[Link] = accountNumber;
[Link] = holderName;
[Link] = initialBalance;
}
public String getAccountNumber() {
return accountNumber;
}
public void displayDetails() {
[Link]("Account Number: " + accountNumber);
[Link]("Account Holder: " + holderName);
[Link]("Balance: Rs. " + balance);
[Link]("--------------------------------");
}
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
[Link]("Deposited Rs. " + amount + " successfully.");
} else {
[Link]("Invalid deposit amount!");
}
}
public void withdraw(double amount) {
if (amount > balance) {
[Link]("Insufficient balance!");
} else if (amount <= 0) {
[Link]("Invalid withdrawal amount!");
} else {
balance -= amount;
[Link]("Withdrawn Rs. " + amount + " successfully.");
}
}
public double getBalance() {
return balance;
}
}
public class BankAccountSystem {
static ArrayList<Account> accounts = new ArrayList<>();
static Scanner sc = new Scanner([Link]);
public static void main(String[] args) {
int choice;
do {
[Link]("\n***** BANK ACCOUNT SYSTEM *****");
[Link]("1. Create New Account");
[Link]("2. View All Accounts");
[Link]("3. Deposit Money");
[Link]("4. Withdraw Money");
[Link]("5. Check Balance");
[Link]("6. Exit");
[Link]("Enter your choice: ");
choice = [Link]();
[Link](); // consume newline
switch (choice) {
case 1:
createAccount();
break;
case 2:
displayAllAccounts();
break;
case 3:
depositMoney();
break;
case 4:
withdrawMoney();
break;
case 5:
checkBalance();
break;
case 6:
[Link]("Exiting system. Thank you!");
break;
default:
[Link]("Invalid choice! Try again.");
}
} while (choice != 6);
}
static void createAccount() {
[Link]("Enter Account Number: ");
String accNo = [Link]();
[Link]("Enter Account Holder Name: ");
String name = [Link]();
[Link]("Enter Initial Balance: ");
double initialBalance = [Link]();
[Link]();
Account acc = new Account(accNo, name, initialBalance);
[Link](acc);
[Link]("Account created successfully!");
}
static void displayAllAccounts() {
if ([Link]()) {
[Link]("No accounts available.");
return;
}
for (Account acc : accounts) {
[Link]();
}
}
static Account findAccount(String accNo) {
for (Account acc : accounts) {
if ([Link]().equals(accNo)) {
return acc;
}
}
return null;
}
static void depositMoney() {
[Link]("Enter Account Number: ");
String accNo = [Link]();
Account acc = findAccount(accNo);
if (acc != null) {
[Link]("Enter Amount to Deposit: ");
double amount = [Link]();
[Link]();
[Link](amount);
} else {
[Link]("Account not found!");
}
}
static void withdrawMoney() {
[Link]("Enter Account Number: ");
String accNo = [Link]();
Account acc = findAccount(accNo);
if (acc != null) {
[Link]("Enter Amount to Withdraw: ");
double amount = [Link]();
[Link]();
[Link](amount);
} else {
[Link]("Account not found!");
}
}
static void checkBalance() {
[Link]("Enter Account Number: ");
String accNo = [Link]();
Account acc = findAccount(accNo);
if (acc != null) {
[Link]("Current Balance: Rs. " + [Link]());
} else {
[Link]("Account not found!");
}
}
}