SmartATM is a Java-based ATM Simulation System designed to mimic real-world ATM functionalities.
It allows users to authenticate securely, check balances, deposit, and withdraw money โ all within a console-based interface.
This project demonstrates encapsulation, loops, methods, and switch-case control flow in Java.
โ
User Authentication โ PIN-based secure access
โ
Balance Inquiry โ Displays the current account balance
โ
Deposit Functionality โ Add money to your account securely
โ
Withdrawal Feature โ Withdraw money with balance validation
โ
Menu-Driven Interface โ Simple, user-friendly options
โ
Encapsulation โ Data hiding for balance and PIN security
- Encapsulation
- Loops (do-while)
- Switch-Case Statements
- User Authentication
- Method Implementation
- Conditional Statements
| Technology | Purpose |
|---|---|
| Java | Core programming language |
| Scanner Class | User input handling |
| OOP Principles | Encapsulation and modularity |
-
Clone the repository
git clone https://github.com/yourusername/SmartATM.git cd SmartATM -
Compile the code
javac ATM.java
-
Run the program
java ATM
Enter your 4-digit PIN: 1234
==== ATM Menu ====
- Check Balance
- Deposit Money
- Withdraw Money
- Exit Choose an option: 2 Enter deposit amount: 2000 Successfully deposited โน2000
Main Methods in ATM Class:
- authenticate(int enteredPin) โ Verifies PIN
- checkBalance() โ Displays current balance
- deposit(double amount)` โ Deposits entered amount
- withdraw(double amount) โ Withdraws cash with validation
By developing this project, I learned:
- How to implement encapsulation to secure sensitive data
- How to build interactive menus using loops and switch-case
- The use of methods for modular programming
- Practical application of authentication and transaction logic
Prince Monga ๐ Java & Frontend Developer | AI & DevOps Enthusiast ๐ Sirsa, Haryana, India ๐ https://princemonga.site ๐ง growthprinceofficial@gmail.com
โญ If you found this project helpful, give it a star on GitHub! โญ
---
Would you like me to make a **formatted README.md file (ready to upload)** for your GitHub repo named **SmartATM**?
I can generate the `.md` file for you directly.