forked from Midway91/HactoberFest2023
-
Notifications
You must be signed in to change notification settings - Fork 0
/
BANKINGSYSTEM,.java
128 lines (110 loc) · 4.25 KB
/
BANKINGSYSTEM,.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
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
class BankAccount {
private String accountNumber;
private double balance;
public BankAccount(String accountNumber) {
this.accountNumber = accountNumber;
this.balance = 0.0;
}
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
System.out.println("Deposited: $" + amount);
} else {
System.out.println("Invalid amount for deposit.");
}
}
public void withdraw(double amount) {
if (amount > 0 && balance >= amount) {
balance -= amount;
System.out.println("Withdrawn: $" + amount);
} else {
System.out.println("Invalid amount for withdrawal or insufficient balance.");
}
}
public double getBalance() {
return balance;
}
public String getAccountNumber() {
return accountNumber;
}
}
public class BankingSystem {
private static Map<String, BankAccount> accounts = new HashMap<>();
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("\nBanking System Menu:");
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:
performTransaction(scanner, "deposit");
break;
case 3:
performTransaction(scanner, "withdraw");
break;
case 4:
checkBalance(scanner);
break;
case 5:
System.out.println("Exiting the Banking System. Thank you!");
scanner.close();
return;
default:
System.out.println("Invalid choice. Please choose a valid option.");
}
}
}
private static void createAccount(Scanner scanner) {
System.out.print("Enter account number: ");
String accountNumber = scanner.nextLine();
if (accounts.containsKey(accountNumber)) {
System.out.println("Account with the same account number already exists.");
} else {
BankAccount account = new BankAccount(accountNumber);
accounts.put(accountNumber, account);
System.out.println("Account created successfully.");
}
}
private static void performTransaction(Scanner scanner, String transactionType) {
System.out.print("Enter account number: ");
String accountNumber = scanner.nextLine();
if (accounts.containsKey(accountNumber)) {
BankAccount account = accounts.get(accountNumber);
if (transactionType.equals("deposit")) {
System.out.print("Enter amount to deposit: $");
double amount = scanner.nextDouble();
account.deposit(amount);
} else if (transactionType.equals("withdraw")) {
System.out.print("Enter amount to withdraw: $");
double amount = scanner.nextDouble();
account.withdraw(amount);
}
} else {
System.out.println("Account not found. Please check the account number.");
}
}
private static void checkBalance(Scanner scanner) {
System.out.print("Enter account number: ");
String accountNumber = scanner.nextLine();
if (accounts.containsKey(accountNumber)) {
BankAccount account = accounts.get(accountNumber);
System.out.println("Account Number: " + account.getAccountNumber());
System.out.println("Balance: $" + account.getBalance());
} else {
System.out.println("Account not found. Please check the account number.");
}
}
}