-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBanking_Application.java
134 lines (118 loc) · 4.44 KB
/
Banking_Application.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
class BankAccount {
private String accountNumber;
private String accountHolderName;
private double balance;
public BankAccount(String accountNumber, String accountHolderName) {
this.accountNumber = accountNumber;
this.accountHolderName = accountHolderName;
this.balance = 0.0;
}
public void deposit(double amount) {
balance += amount;
System.out.println("Deposit successful. Current balance: " + balance);
}
public void withdraw(double amount) {
if (balance >= amount) {
balance -= amount;
System.out.println("Withdrawal successful. Current balance: " + balance);
} else {
System.out.println("Insufficient balance.");
}
}
public double getBalance() {
return balance;
}
public String getAccountNumber() {
return accountNumber;
}
public String getAccountHolderName() {
return accountHolderName;
}
}
public class Banking_Application {
private static Map<String, BankAccount> accounts = new HashMap<>();
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
boolean exit = false;
while (!exit) {
System.out.println("Banking Application");
System.out.println("1. Create Account");
System.out.println("2. Deposit");
System.out.println("3. Withdraw");
System.out.println("4. Check Balance");
System.out.println("5. Exit");
System.out.print("Enter your choice: ");
int choice = scanner.nextInt();
scanner.nextLine(); // Consume the newline character
switch (choice) {
case 1:
createAccount(scanner);
break;
case 2:
deposit(scanner);
break;
case 3:
withdraw(scanner);
break;
case 4:
checkBalance(scanner);
break;
case 5:
exit = true;
break;
default:
System.out.println("Invalid choice. Please try again.");
break;
}
System.out.println();
}
scanner.close();
}
private static void createAccount(Scanner scanner) {
System.out.print("Enter account number: ");
String accountNumber = scanner.nextLine();
System.out.print("Enter account holder name: ");
String accountHolderName = scanner.nextLine();
BankAccount account = new BankAccount(accountNumber, accountHolderName);
accounts.put(accountNumber, account);
System.out.println("Account created successfully.");
}
private static void deposit(Scanner scanner) {
System.out.print("Enter account number: ");
String accountNumber = scanner.nextLine();
BankAccount account = accounts.get(accountNumber);
if (account != null) {
System.out.print("Enter deposit amount: ");
double amount = scanner.nextDouble();
account.deposit(amount);
} else {
System.out.println("Account not found.");
}
}
private static void withdraw(Scanner scanner) {
System.out.print("Enter account number: ");
String accountNumber = scanner.nextLine();
BankAccount account = accounts.get(accountNumber);
if (account != null) {
System.out.print("Enter withdrawal amount: ");
double amount = scanner.nextDouble();
account.withdraw(amount);
} else {
System.out.println("Account not found.");
}
}
private static void checkBalance(Scanner scanner) {
System.out.print("Enter account number: ");
String accountNumber = scanner.nextLine();
BankAccount account = accounts.get(accountNumber);
if (account != null) {
System.out.println("Account Holder Name: " + account.getAccountHolderName());
System.out.println("Account Balance: " + account.getBalance());
} else {
System.out.println("Account not found.");
}
}
}