7.Write a Java program to create a class called "Bank" with a collection of accounts and methods to add and remove accounts, and to deposit and withdraw money. Also define a class called "Account" to maintain account details of a particular customer.
💡Code:
class Account {
private String accountNumber;
private String customerName;
private double balance;
// Constructor
public Account(String accountNumber, String customerName, double initialBalance) {
this.accountNumber = accountNumber;
this.customerName = customerName;
this.balance = initialBalance;
}
// Method to deposit money
public void deposit(double amount) {
balance += amount;
System.out.println("Deposit of $" + amount + " made. Current balance: $" + balance);
}
// Method to withdraw money
public void withdraw(double amount) {
if (balance >= amount) {
balance -= amount;
System.out.println("Withdrawal of $" + amount + " made. Current balance: $" + balance);
} else {
System.out.println("Insufficient funds. Current balance: $" + balance);
}
}
// Getter methods
public String getAccountNumber() {
return accountNumber;
}
public String getCustomerName() {
return customerName;
}
public double getBalance() {
return balance;
}
}
class Bank {
private Account[] accounts;
private int numAccounts;
// Constructor
public Bank(int maxAccounts) {
accounts = new Account[maxAccounts];
numAccounts = 0;
}
// Method to add an account
public void addAccount(Account account) {
if (numAccounts < accounts.length) {
accounts[numAccounts] = account;
numAccounts++;
System.out.println("Account added for " + account.getCustomerName());
} else {
System.out.println("Cannot add more accounts. Bank is full.");
}
}
// Method to remove an account
public void removeAccount(String accountNumber) {
for (int i = 0; i < numAccounts; i++) {
if (accounts[i].getAccountNumber().equals(accountNumber)) {
System.out.println("Account removed for " + accounts[i].getCustomerName());
for (int j = i; j < numAccounts - 1; j++) {
accounts[j] = accounts[j + 1];
}
accounts[numAccounts - 1] = null;
numAccounts--;
return;
}
} System.out.println("Account with account number " + accountNumber + " not found.");
}
// Method to deposit to an account
public void depositToAccount(String accountNumber, double amount) {
for (int i = 0; i < numAccounts; i++) {
if (accounts[i].getAccountNumber().equals(accountNumber)) {
accounts[i].deposit(amount);
return;
}
}
System.out.println("Account with account number " + accountNumber + " not found.");
}
// Method to withdraw from an account
public void withdrawFromAccount(String accountNumber, double amount) {
for (int i = 0; i < numAccounts; i++) {
if (accounts[i].getAccountNumber().equals(accountNumber)) {
accounts[i].withdraw(amount);
return;
}
}
System.out.println("Account with account number " + accountNumber + " not found.");
}
}
public class pro7 {
public static void main(String[] args) {
// Creating a Bank
Bank bank = new Bank(10);
// Adding accounts
Account account1 = new Account("123456", "Alice", 1000.0);
Account account2 = new Account("789012", "Bob", 500.0);
bank.addAccount(account1);
bank.addAccount(account2);
// Depositing and withdrawing from accounts
bank.depositToAccount("123456", 500.0);
bank.withdrawFromAccount("789012", 200.0);
// Removing an account
bank.removeAccount("123456");
}
}
📸Output :