The ATM Machine project is a Java-based console application that simulates the functionality of an Automated Teller Machine (ATM). The project is implemented using object-oriented programming (OOP) concepts to provide a modular and organized structure. It allows users to perform basic banking operations such as withdrawing cash, depositing funds, checking account balance, and changing the PIN.
- User Authentication: The ATM Machine authenticates users by validating their account number and PIN.
- Cash Withdrawal: Users can withdraw cash from their account, and the available balance will be updated accordingly.
- Funds Deposit: Users can deposit funds into their account, and the deposited amount will be added to the account balance.
- Account Balance Inquiry: Users can check their account balance to view the available funds.
- PIN Change: Users can change their PIN to enhance account security.
- Error Handling: The application handles errors, such as insufficient funds and incorrect PIN entries, providing appropriate error messages to the user.
To run the ATM Machine project, follow these steps:
- Ensure you have Java Development Kit (JDK) installed on your system.
- Download or clone the project files from the repository:
git clone https://github.com/shiva2478/ATM-Machine/
. - Navigate to the project directory:
cd atm-machine
. - Compile the Java source files:
javac *.java
. - Run the application:
java ATMMain
.
- The ATM Machine will prompt you to enter your account number.
- Enter your account number using the console.
- The ATM Machine will then ask you to enter your PIN.
- Enter your PIN using the console.
- Once authenticated, you will see a menu of available operations.
- Choose the desired operation by entering the corresponding number.
- Follow the prompts to complete the selected operation.
- After completing the operation, the menu will be displayed again, allowing you to choose another operation or exit the ATM Machine.
The ATM Machine project follows the following class structure:
PIN
: Contains the main method and handles the overall flow of the application.Deposit Amount
: Represents the ATM object and encapsulates its behavior and properties.Withdraw Amount
: Represents the ATM object and encapsulates its behavior and properties.BankAccount
: Represents a bank account and contains account-specific information and operations.
The ATM Machine project is licensed under the MIT License.
If you have any questions or suggestions regarding the ATM Machine project, feel free to contact Shiva at [email protected]. and my linkedin profile : https://www.linkedin.com/in/shiva2478/
Enjoy using the ATM Machine!