-
Notifications
You must be signed in to change notification settings - Fork 10
/
BankingApplicationOfferedByPwSkills.java
135 lines (114 loc) · 4.64 KB
/
BankingApplicationOfferedByPwSkills.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
135
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
class Account {
private String accountNumber;
private String accountHolder;
private double balance;
public Account(String accountNumber, String accountHolder, double balance) {
this.accountNumber = accountNumber;
this.accountHolder = accountHolder;
this.balance = balance;
}
public String getAccountNumber() {
return accountNumber;
}
public String getAccountHolder() {
return accountHolder;
}
public double getBalance() {
return balance;
}
public void deposit(double amount) {
balance += amount;
}
public void withdraw(double amount) {
if (amount <= balance) {
balance -= amount;
} else {
System.out.println("Insufficient funds!");
}
}
@Override
public String toString() {
return "Account Number: " + accountNumber + ", Account Holder: " + accountHolder + ", Balance: $" + balance;
}
}
public class BankingApplicationOfferedByPwSkills {
private static Map<String, Account> accounts = new HashMap<>();
private static int accountCounter = 1;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("\nWelcome to the Console Banking Application");
System.out.println("1. Create an Account");
System.out.println("2. Deposit Funds");
System.out.println("3. Withdraw Funds");
System.out.println("4. Check Balance");
System.out.println("5. Exit");
System.out.print("Select an option (1-5): ");
int choice = scanner.nextInt();
scanner.nextLine();
switch (choice) {
case 1:
createAccount(scanner);
break;
case 2:
depositFunds(scanner);
break;
case 3:
withdrawFunds(scanner);
break;
case 4:
checkBalance(scanner);
break;
case 5:
System.out.println("Thank you for using our Banking Application. Goodbye!");
System.exit(0);
default:
System.out.println("Invalid option. Please choose a valid option.");
}
}
}
private static void createAccount(Scanner scanner) {
System.out.print("Enter the account holder's name: ");
String accountHolder = scanner.nextLine();
String accountNumber = "ACC" + accountCounter;
accountCounter++;
accounts.put(accountNumber, new Account(accountNumber, accountHolder, 0.0));
System.out.println("Account created successfully. Your account number is: " + accountNumber);
}
private static void depositFunds(Scanner scanner) {
System.out.print("Enter your account number: ");
String accountNumber = scanner.nextLine();
if (accounts.containsKey(accountNumber)) {
System.out.print("Enter the amount to deposit: $");
double amount = scanner.nextDouble();
accounts.get(accountNumber).deposit(amount);
System.out.println("Deposit successful. New balance: $" + accounts.get(accountNumber).getBalance());
} else {
System.out.println("Account not found. Please check your account number.");
}
}
private static void withdrawFunds(Scanner scanner) {
System.out.print("Enter your account number: ");
String accountNumber = scanner.nextLine();
if (accounts.containsKey(accountNumber)) {
System.out.print("Enter the amount to withdraw: $");
double amount = scanner.nextDouble();
accounts.get(accountNumber).withdraw(amount);
System.out.println("Withdrawal successful. New balance: $" + accounts.get(accountNumber).getBalance());
} else {
System.out.println("Account not found. Please check your account number.");
}
}
private static void checkBalance(Scanner scanner) {
System.out.print("Enter your account number: ");
String accountNumber = scanner.nextLine();
if (accounts.containsKey(accountNumber)) {
System.out.println(accounts.get(accountNumber));
} else {
System.out.println("Account not found. Please check your account number.");
}
}
}