Welcome to our beginner-friendly programming challenge! Today, we’ll guide you through creating a basic banking system using Java. This project will help you understand key concepts like classes, objects, methods, and collections in Java.
Step 1: Create the Account Class
class Account {
private static int accountCounter = 1000;
private int accountNumber;
private String accountHolderName;
private double balance;
public Account(String accountHolderName) {
this.accountNumber = accountCounter++;
this.accountHolderName = accountHolderName;
this.balance = 0.0;
}
public int getAccountNumber() {
return accountNumber;
}
public String getAccountHolderName() {
return accountHolderName;
}
public double getBalance() {
return balance;
}
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
}
}
public void withdraw(double amount) {
if (amount > 0 && balance >= amount) {
balance -= amount;
} else {
System.out.println("Insufficient funds or invalid amount.");
}
}
}
Step 2: Create the Bank Class
import java.util.ArrayList;
import java.util.List;
class Bank {
private List<Account> accounts = new ArrayList<>();
public void createAccount(String accountHolderName) {
Account newAccount = new Account(accountHolderName);
accounts.add(newAccount);
System.out.println("Account created. Account Number: " + newAccount.getAccountNumber());
}
public Account getAccount(int accountNumber) {
for (Account account : accounts) {
if (account.getAccountNumber() == accountNumber) {
return account;
}
}
return null;
}
public void deposit(int accountNumber, double amount) {
Account account = getAccount(accountNumber);
if (account != null) {
account.deposit(amount);
System.out.println("Deposited " + amount + ". New balance: " + account.getBalance());
} else {
System.out.println("Account not found.");
}
}
public void withdraw(int accountNumber, double amount) {
Account account = getAccount(accountNumber);
if (account != null) {
account.withdraw(amount);
System.out.println("Withdrawn " + amount + ". New balance: " + account.getBalance());
} else {
System.out.println("Account not found.");
}
}
public void checkBalance(int accountNumber) {
Account account = getAccount(accountNumber);
if (account != null) {
System.out.println("Current balance: " + account.getBalance());
} else {
System.out.println("Account not found.");
}
}
}
Step 3: Create the BankingSystem Class
import java.util.Scanner;
public class BankingSystem {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Bank bank = new Bank();
while (true) {
System.out.println("1. Create Account");
System.out.println("2. Deposit Money");
System.out.println("3. Withdraw Money");
System.out.println("4. Check Balance");
System.out.println("5. Exit");
System.out.print("Choose an option: ");
int choice = scanner.nextInt();
scanner.nextLine(); // Consume newline
switch (choice) {
case 1:
System.out.print("Enter account holder name: ");
String name = scanner.nextLine();
bank.createAccount(name);
break;
case 2:
System.out.print("Enter account number: ");
int depositAccountNumber = scanner.nextInt();
System.out.print("Enter amount to deposit: ");
double depositAmount = scanner.nextDouble();
bank.deposit(depositAccountNumber, depositAmount);
break;
case 3:
System.out.print("Enter account number: ");
int withdrawAccountNumber = scanner.nextInt();
System.out.print("Enter amount to withdraw: ");
double withdrawAmount = scanner.nextDouble();
bank.withdraw(withdrawAccountNumber, withdrawAmount);
break;
case 4:
System.out.print("Enter account number: ");
int balanceAccountNumber = scanner.nextInt();
bank.checkBalance(balanceAccountNumber);
break;
case 5:
System.out.println("Exiting...");
scanner.close();
return;
default:
System.out.println("Invalid choice. Please try again.");
}
}
}
}

No comments:
Post a Comment