A simple and fully functional ATM simulation system built using Core Java. This project improves logical thinking and helps beginners understand important Java concepts like:
✔ Classes & Objects ✔ File Handling ✔ OOP Concepts ✔ Loops & Conditionals ✔ User Input Handling ✔ Encapsulation
- User must enter correct PIN to access ATM.
- Incorrect attempts are handled safely.
- Shows current available balance.
- User can deposit any amount.
- Updates balance and records transaction.
- Checks minimum balance.
- Updates account balance.
- Saves transaction in mini statement.
- Securely update to new PIN.
- Prevents same PIN repetition.
Shows:
- Deposits
- Withdrawals
- Date & Time
- Account Holder Name
- Account Number
- Account Type
- Account Balance
User details are saved inside a file (Example):
UserData.txt
Stored data includes:
- Username
- Account number
- Account type
- Current balance
- PIN
This makes the app act like a real ATM system.
| Component | Technology |
|---|---|
| Language | Java 20 |
| IDE | IntelliJ IDEA |
| Data Storage | File Handling (Java I/O) |
| Build Type | Console Application |
ATM-Machine/
│── src/
│ ├── ATM.java
│ ├── ATMOperations.java
│ ├── UserAccount.java
│ ├── ATMMain.java
│
│── user_data/
│ └── account.txt
│
└── README.md
- Clone the repo:
git clone https://github.com/dhilip2103/ATM-Machine.git-
Open in IntelliJ IDEA
-
Run the file:
ATMMain.java- Multiple user accounts
- Admin dashboard
- Database (MySQL) integration
- ATM card lock after 3 wrong attempts
- GUI version (JavaFX or Swing)
