MICRO PROJECT REPORT
(Object Oriented Programming with JAVA - 4341602)
Submitted By
Devraj Patel (236400316116)
Jenish Patel (236400316131)
Maharshi Patel (236400316135)
In partial fulfilment for the curriculum of the
4th Semester in
DIPLOMA ENGINEERING
in
Information Technology Department
R. C. Technical Institute, Ahmedabad
Gujarat Technological University, Ahmedabad
DECEMBER – 2025
Index
Content Page no.
Introduction 1
Project Explanation 2
Code 3-5
Output 6
Code Explanation 7-8
Conclusion 9
Introduction
The Banking Management System is a console-based Java application developed as a
micro project to simulate the core functionalities of a real-world bank. It provides users
with essential services such as account creation, balance enquiry, cash deposit and
withdrawal, and ATM PIN management. This project is designed to offer a simple yet
practical demonstration of how everyday banking operations can be implemented using
object-oriented programming principles in Java.
By integrating user input, conditional logic, loops, and data validation, this system
allows for interactive and secure handling of customer transactions. It is particularly
useful for learning how to build real-life applications through modular code structure,
menu-driven interfaces, and essential programming constructs. The system runs
entirely in the command line, offering a lightweight and intuitive way to understand
core banking workflows.
Overall, this project acts as a foundation for developing larger, more complex financial
applications and helps reinforce key programming concepts in a practical, hands-on
way.
1.
Project Explanation
[Link] Creation
Users can create an account by providing their name, choosing the account type
(General/Saving), setting a 4-digit PIN, and depositing a minimum balance of ₹500. A
unique 5-digit account number is generated randomly.
2. Transactions (Deposit & Withdraw)
Deposit: User enters the account number and PIN, then deposits a valid amount, which
gets added to the balance.
Withdraw: After PIN verification, the user can withdraw any amount not exceeding the
current balance.
3. Balance Enquiry
Displays complete account details including account number, name, balance, account
type, and the current date & time, providing a simulated banking receipt.
4. PIN Change
Allows the user to securely update their 4-digit ATM PIN after validating the current
PIN.
5. Menu-Driven Interface
A user-friendly text menu allows users to navigate through features. Input choices
trigger corresponding actions in a continuous loop until the user exits.
6. Programming Concepts Used
Object-Oriented Programming (OOP): Used to manage account data and operations
inside a single class.
Java Utilities: Scanner for input, Random for account number, and LocalDateTime for
timestamping transactions.
2.
Code
3.
4.
5.
Output
6.
Code Explanation
1. Class & Variables
The program uses a Bank class that stores customer details like name,
account number, account type, PIN, and balance using private variables. A
Scanner is used for user input, and LocalDateTime tracks transaction time.
2. Constructor
The constructor initializes the bank branch name when an object of the class
is created.
3. Account Creation (createAcc)
Creates a new account by taking the user's name, type of account, a 4-digit
PIN, and an initial deposit (minimum ₹500). Generates a random 5-digit
account number.
4. Withdrawal (withdraw)
Allows the user to withdraw money after verifying the account number and
PIN. Ensures the withdrawal amount is valid and not greater than the balance.
5. Deposit (deposit)
Verifies the account and PIN, then adds the entered amount to the balance.
Invalid inputs trigger appropriate error messages.
6. Change PIN (changePin)
Allows the user to change their ATM PIN after verifying the current one.
Enforces a 4-digit format.
7.
7. Balance Enquiry (balanceEnquiry)
Displays account details like account number, name, balance, type, and
current date & time.
8. Menu Function (inp)
Main user interface showing a menu with all options. Uses a loop and switch-
case to handle user actions.
9. Main Method
Creates a Bank object and calls inp() to start the system.
8.
Conclusion
The Banking Management System project successfully demonstrates
the implementation of core banking operations using Java. It provides
a user-friendly interface for creating accounts, depositing and
withdrawing funds, checking balances, and managing ATM PINs —
all through a simple console-based system. The project makes
effective use of object-oriented programming principles, such as
encapsulation and modular design, which enhance code readability
and maintainability.
Overall, the system not only simulates real-world banking workflows
but also reinforces important programming concepts like input
handling, conditional logic, loops, method abstraction, and data
validation. It serves as a strong foundational project for beginners
aiming to build more advanced applications in the future and reflects
how Java can be used to model practical, real-life systems.
Thank You
9.