Skip to content

zerouchihaexe/ATM-in-Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Java ATM Simulation – Project Report

Developer: Mohammed Arsalan Ahmed Language: Java

  1. Project Overview

This project simulates a basic ATM system in Java. It demonstrates key concepts such as random number generation, user authentication with PIN verification, and account balance display. The program is console-based and supports multiple languages (English and Hindi) for user interaction. It is designed for educational purposes, helping to understand Java programming fundamentals and interactive system design.

  1. Objective

Simulate an ATM system for learning purposes.

Implement PIN-based user authentication.

Display a randomized bank balance after successful verification.

Handle correct and incorrect PIN entries gracefully.

Gain practical experience in Java input/output, control structures, and threading.

  1. Features

Language Selection:

User can choose English or Hindi for display messages.

PIN Generation & Authentication:

Generates a random 4-digit PIN.

User must enter the correct PIN to access the account.

Incorrect PIN entries are handled with an access denial message.

Bank Balance Display:

Displays a randomized account balance after successful PIN verification.

User Feedback Simulation:

Uses Thread.sleep() to simulate processing time and authorization for realism.

  1. Tools & Techniques Used

Java Random class: Generate PIN and bank balance

Scanner class: Capture user input

Control Structures: if-else and switch-case for logic handling

Thread.sleep(): Simulate processing delays

Console Output Formatting: Display interactive messages in multiple languages

  1. Methodology

Prompt the user to select a language.

Generate a random PIN and display it to the user.

Prompt the user to enter the PIN.

If the PIN matches, simulate authorization and display the bank balance.

If the PIN is incorrect, display access denied after a simulated authorization delay.

  1. Skills Demonstrated

Java programming fundamentals

User input handling and validation

Random number generation for dynamic data

Simulating real-world system delays using threading

Multilingual console interaction

  1. Outcome

Upon completion, this project demonstrates the ability to:

Create interactive console applications in Java

Implement secure user verification logic using random PINs

Simulate real-world processes like ATM authorization and account balance retrieval

  1. Future Enhancements

Add multiple user accounts with persistent storage

Connect to a database for real account balances

Add deposit and withdrawal functionality

Enhance security with masked PIN entry

Implement GUI interface for a more realistic experience

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published