✅ Project Title: Bank Account
Management System (Console-Based)
🎯 Objective
Develop a Core Java application to manage basic bank account operations using
Object-Oriented Programming, ArrayList, and Scanner for user input.
🔧 Functional Requirements
Functionality Description
Create New Add customer account (account number, name,
Account balance)
View All
Display all customer accounts
Accounts
Deposit Money Add amount to a specific account
Withdraw Money Deduct amount with balance check
Search Account View details of an account by account number
Exit End the program
📦 Class Structure
🔹 1. BankAccount.java
Fields: accountNumber, accountHolder, balance
Methods: constructor, getters/setters, toString()
🔹 2. BankService.java
Methods:
createAccount()
displayAllAccounts()
deposit(int accNo, double amount)
withdraw(int accNo, double amount)
searchAccount(int accNo)
🔹 3. Main.java
Menu-driven logic using Scanner to interact with the user.
🧠 Core Java Concepts Used
Concept Purpose
Classes &
Represent accounts
Objects
Encapsulation Private fields, public methods
ArrayList Store multiple accounts
Control
Menu and input handling
Statements
Exception
Invalid input or insufficient balance
Handling
📝 Assignment Question (For Students)
Design and implement a console-based Bank Account
Management System using Core Java.
Your system should support the following operations:
Create a new bank account with account number, customer
name, and opening balance.
Display all accounts with their details.
Deposit a specified amount into an existing account.
Withdraw a specified amount (only if sufficient balance
exists).
Search and display an account based on account number.
Exit the application.
Use proper OOP principles, Java collections (like ArrayList),
and input/output using Scanner.