Java Bank Transfer App
This project is a simple Java application that allows users to perform fund transfers between two bank accounts. The program uses a console-based menu to choose transfer options.
Java Code Snippet
import java.util.Scanner;
public class BankTransferApp {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// Create two bank account objects
Account account1 = new Account(1500, "John Doe", 1234456);
Account account2 = new Account(2500, "Mike Sanders", 678954);
// Main menu loop
while (true) {
System.out.println("Choose an option:");
System.out.println("1. Transfer from account 1 to account 2");
System.out.println("2. Transfer from account 2 to account 1");
System.out.println("3. Quit");
// Handle user input
int choice = input.nextInt();
input.nextLine(); // Consume the newline character
switch (choice) {
case 1:
performTransfer(account1, account2, input);
break;
case 2:
performTransfer(account2, account1, input);
break;
case 3:
printAccountSummary(account1, account2);
System.out.println("Exiting the program. Goodbye!");
System.exit(0);
default:
System.out.println("Invalid choice. Please enter a valid option.");
}
}
}
// Helper method to perform fund transfer
private static void performTransfer(Account source, Account destination, Scanner input) {
System.out.print("Enter the amount to transfer: ");
double amount = input.nextDouble();
source.transfer(destination, amount);
System.out.println("Transfer successful!");
printAccountSummary(source, destination);
}
// Helper method to print account summary
private static void printAccountSummary(Account account1, Account account2) {
System.out.println("\nAccount Summary:");
System.out.println("1. " + account1);
System.out.println("2. " + account2 + "\n");
}
}
class Account {
private double totalBalance;
private String name;
private long acctNum;
public Account(double initBal, String owner, long number) {
totalBalance = initBal;
name = owner;
acctNum = number;
}
public void withdraw(double amount) {
if (totalBalance >= amount)
totalBalance -= amount;
else
System.out.println("Insufficient funds");
}
public void deposit(double amount) {
totalBalance += amount;
}
public double getBalance() {
return totalBalance;
}
public String toString() {
return "Name: " + name + "\nAccount Number: " + acctNum + "\nBalance: $" + totalBalance;
}
public void transfer(Account destination, double amount) {
if (totalBalance >= amount) {
withdraw(amount);
destination.deposit(amount);
System.out.println("Transfer successful!");
} else {
System.out.println("Insufficient funds for the transfer.");
}
}
}
Project Images
Pseudocode Flowchart

Ouput Image
