MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
Siddhant College of Engineering
A/P Sudumbare,Tal-Maval,Dist-Pune
Microproject
Academic Year 2025-26
Program Name : -Artificial Intelligence & Machine Learning Scheme:-K
Subject & Code: -Java Programming(314317) Semester:-Fourth
A Microproject on
Mini ATM Machine System
Sr no Name Enrollment No Seat No
1. Gururaj Birbal Chavan 23213380005
2. Onkar Santosh Koli 24213380005
3. Atharva Manish Dube 24213380018
Under the Guidance of
Ms. [Link]
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
Certificate
This is to certify that Mr. GURURAJ BIRBAL CHAVAN, Fourth Semester of
Diploma in Artificial Intelligence And Machine Learning (AIML) Engineering of
Institute, Siddhant college of Engineering (Code:1624) has completed the Self
Learning Activity (SLA) satisfactorily in Course Java Programming (314317)
for the academic year 2024-2025 as prescribed in the curriculum.
Place:-Sudumbare Enrollment no:23213380005
Date:- Seat no:-
[Link] [Link] [Link].
Subject Teacher H.O.D Diploma Co-ordinator
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
Certificate
This is to certify that Mr. Onkar Santosh Koli, Fourth Semester of Diploma in
Artificial Intelligence And Machine Learning (AIML) Engineering of Institute,
Siddhant college of Engineering (Code:1624) has completed the Self Learning
Activity (SLA) satisfactorily in Course Java Programming (314317) for the
academic year 2024-2025 as prescribed in the curriculum.
Place:-Sudumbare Enrollment no:-24213380018
Date:- Seat no:-
[Link] [Link] [Link].
Subject Teacher H.O.D Diploma Co-ordinator
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
Certificate
This is to certify that Mr. Atharva Manish Dube, Fourth Semester of Diploma in
Artificial Intelligence And Machine Learning (AIML) Engineering of Institute,
Siddhant college of Engineering (Code:1624) has completed the Self Learning
Activity (SLA) satisfactorily in Course Java Programming (314317) for the
academic year 2024-2025 as prescribed in the curriculum.
Place:-Sudumbare Enrollment no:24213380008
Date:- Seat no:-
[Link] [Link] [Link].
Subject Teacher H.O.D Diploma Co-ordinator
ACKNOWLEDGEMENT
It is a matter of great pleasure to get the opportunity of highlighting. A
fraction of the knowledge, I acquired during us Technical education through
this project. This would not have been possible without the guidance and
help of many people. This is the only page where we have the opportunity
of expressing our emotions and gratitude from the Core of our hearts to them.
This project would not have been successful without enlightened ideas,
timely suggestions, and the Interest of our most respected guide
“[Link]” without her best guidance this would have been an
impossible task to complete.
I would like to thank “[Link]” Head of our Department for
providing the necessary facilities during the period of Working on this
project work.
I would also like to thank our Diploma Co-ordinator “[Link]” who
encouraged us and created a healthy environment for all of us to learn in the
best possible way. Finally, I would pay my respect and love to my parents
and all family members as well as friends for their love and encouragement
throughout this micro project.
INDEX
1. History of Java
2. What is JDK
3. Abstraction
4. Introduction
5. Structure of Program
6. Program and Output
7. Syntax used in this Project
8. Conclusion
9. Reference
History of Java
Java is an Object-Oriented programming language developed by
James Gosling in the early 1990s. The team initiated this project to develop
a language for digital devices such as set-top boxes, television, etc.
Originally C++ was considered to be used in the project but the idea was
rejected for several reasons(For instance C++ required more memory).
Gosling endeavoured to alter and expand C++ however before long
surrendered that for making another stage called Green. James Gosling and
his team called their project “Greentalk” and its file extension was .gt and
later became to known as “OAK”.
Why “Oak”?
The name Oak was used by Gosling after an oak tree that remained outside
his office. Also, Oak is an image of solidarity and picked as a national tree of
numerous nations like the U.S.A., France, Germany, Romania, etc. But they
had to later rename it as “JAVA” as it was already a trademark by Oak
Technologies. “JAVA” Gosling and his team did a brainstorm session and
after the session, they came up with several names such as JAVA, DNA,
SILK, RUBY, etc. Java name was decided after much discussion since it
was so unique.
The name Java originates from a sort of espresso bean, Java. Gosling came
up with this name while having a coffee near his office. Java was created on
the principles like Robust, Portable, Platform Independent, High
Performance, Multithread, etc. and was called one of the Ten Best Products of
1995 by the TIME MAGAZINE. Currently, Java is used in internet
programming, mobile devices, games, e-business solutions, etc.
The Java language has experienced a few changes since JDK 1.0 just as
various augmentations of classes and packages to the standard library. In
Addition to the language changes, considerably more sensational changes
have been made to the Java Class Library throughout the years, which has
developed from a couple of hundred classes in JDK 1.0 to more than three
thousand in J2SE 5.
What is JDK
The Java Development Kit (JDK) is a cross-platformed software development
environment that offers a collection of tools and libraries necessary for developing
Java-based software applications and applets. It is a core package used in Java,
along with the JVM (Java Virtual Machine) and the JRE (Java Runtime
Environment).
Beginners often get confused with JRE and JDK, if you are only interested in
running Java programs on your machine then you can easily do it using Java
Runtime Environment. However, if you would like to develop a Javabased
software application then along with JRE you may need some additional necessary
tools, which is called JDK.
Abstraction
The Mini-ATM Machine System serves as a simple abstraction for managing basic
banking operations in a Java project. At its core, this abstraction consists of the main
entity Account, which stores essential banking details such as account number, account
holder name, and account balance. This entity encapsulates the core functionalities
required for performing financial transactions and managing account information. The
Mini-ATM System class coordinates the overall workflow of the program. It handles
user input and displays a menu-driven interface that allows users to perform various
banking operations. Through this interface, the user can interact with the system to
perform actions such as depositing money, withdrawing funds, and checking the
current account balance. Each operation updates the account balance accordingly while
ensuring that withdrawal requests do not exceed the available balance.
By organizing the program into clear methods for account creation, deposit, withdrawal,
and balance inquiry, the system demonstrates the concept of abstraction by hiding the
internal implementation details and providing only the necessary operations to the user.
This structure helps maintain clarity, simplicity, and efficient management of account
transactions within the Mini-ATM Machine System.
Introduction
The Mini-ATM Machine System is a simple Java-based application developed
to simulate basic banking operations through a console-based program. The main
objective of this project is to provide users with the ability to manage their bank
account and perform essential transactions in a secure and organized way. This
system demonstrates fundamental programming concepts such as classes,
objects, methods, conditional statements, and user input handling in Java.
The system allows the user to create an account by entering details such as
account number, account holder name, and initial account balance. Once the
account is created, the user can perform several banking operations including
depositing money, withdrawing money, and checking the current balance.
The program also ensures that withdrawals are only allowed if sufficient balance
is available in the account.
This project helps in understanding how basic banking processes work in an
ATM environment and how they can be implemented using Java programming.
It also improves knowledge of menu-driven programming and logical
decision making, which are important concepts in software development. The
Mini-ATM Machine System provides a clear and simple model of how real-
world ATM systems manage account transactions efficiently.
Structure of the Program
1. Import Package
The program begins by importing the Scanner class from the [Link] package to
allow the user to enter input from the keyboard. import [Link];
2. Class Declaration
A class named MiniATM is created which contains all the variables and methods
required for the ATM system.
class MiniATM
3. Data Members (Variables)
Inside the class, three variables are declared to store account details.
• int account_no → Stores the account number
• String account_holder_name → Stores the name of the account holder
double account_balance → Stores the current account balance
4. Method for Creating Account
The createAccount() method is used to initialize the account details entered by the
user such as account number, account holder name, and balance.
void createAccount(int acc_no, String name, double balance)
5. Deposit Method
The deposit() method is used to add money to the account balance.
void deposit(double amount)
6. Withdraw Method
The withdraw() method is used to withdraw money from the account.
It checks whether sufficient balance is available before allowing the withdrawal.
void withdraw(double amount)
7. Balance Check Method
The checkBalance() method displays the account holder name and the current
balance.
void checkBalance()
8. Main Method
The main() method controls the entire execution of the program.
public static void main(String args[]) It performs the following
tasks:
Creates a Scanner object to read user input Creates
an object of MiniATM class
• Accepts account details from the user
• Displays a menu-driven interface for ATM operations
• Uses a do-while loop to repeatedly show the menu
• Uses a switch statement to perform operations like deposit, withdraw,
balance check, or exit
9. Program Flow
1. User enters account details
2. Account is created using createAccount()
3. Menu options are displayed
4. User selects an operation
5. Corresponding method is executed
6. Program continues until the user selects Exit
Program
import [Link];
class MiniATM {
int account_no;
String account_holder_name;
double account_balance;
void createAccount(int acc_no, String name, double
balance){ account_no = acc_no; account_holder_name
= name;
account_balance = balance;
}
void deposit(double amount){ account_balance =
account_balance + amount;
[Link]("Amount Deposited Successfully");
}
void withdraw(double
amount){ if(amount > account_balance){
[Link]("Insufficient Balance");
} else{
account_balance = account_balance - amount;
[Link]("Withdrawal Successful");
}
}
void checkBalance(){
[Link]("Account Holder: " + account_holder_name);
[Link]("Current Balance: " + account_balance);
}
public static void main(String args[]){
Scanner sc = new Scanner([Link]);
MiniATM atm = new MiniATM();
[Link]("Enter Account Number: ");
int acc = [Link]();
[Link]();
[Link]("Enter Account Holder Name: ");
String name = [Link]();
[Link]("Enter Initial Balance: ");
double bal = [Link]();
[Link](acc,name,bal);
int choice;
do{
[Link]("\n1. Deposit");
[Link]("2. Withdraw");
[Link]("3. Check Balance");
[Link]("4. Exit");
[Link]("Enter Choice: ");
choice = [Link]();
switch(choice){
case 1:
[Link]("Enter Amount: ");
double dep = [Link]();
[Link](dep);
break;
case 2:
[Link]("Enter Amount: ");
double wit = [Link]();
[Link](wit);
break;
case 3:
[Link]();
break;
case 4:
[Link]("Thank You!");
break;
default:
[Link]("Invalid Choice");
}while(choice != 4);
}
}
Output
Enter Account Number: 12345
Enter Account Holder Name: Gururaj Chavan
Enter Initial Balance: 5000
1. Deposit
2. Withdraw
3. Check Balance
4. Exit
Enter Choice: 3
Account Holder: Gururaj Chavan
Current Balance: 5000
1. Deposit
2. Withdraw
3. Check Balance 4. Exit Enter Choice: 1
Enter Amount: 2000
Amount Deposited Successfully
1. Deposit
2. Withdraw
3. Check Balance 4. Exit
Enter Choice: 3
Account Holder: Gururaj Chavan
Current Balance: 7000
1. Deposit
2. Withdraw
3. Check Balance
4. Exit
Enter Choice: 4
Thank You!
Syntax used in this Project
1. Package Import
The import statement is used to include the Scanner class from the [Link] package
to take input from the user. import [Link];
2. Class Declaration
The class keyword is used to declare a class named MiniATM, which contains
variables and methods used in the program.
class MiniATM
3. Variable Declaration Variables are declared to store the account number,
account holder name, and account balance. int account_no; String
account_holder_name;
double account_balance;
4. Method Declaration
Methods are used to perform specific operations such as creating an account,
depositing money, withdrawing money, and checking the balance.
Example:
void deposit(double amount)
5. Object Creation
An object of the MiniATM class is created to access the methods and variables of
the class.
MiniATM atm = new MiniATM();
6. Scanner Object
The Scanner class is used to take input from the user through the keyboard. Scanner
sc = new Scanner([Link]);
7. Conditional Statements
The if-else statement is used to check conditions such as whether sufficient balance
is available for withdrawal. if(amount > account_balance)
8. Switch Statement
The switch statement is used to perform different operations based on the user’s
menu choice. switch(choice)
9. Loop Statement
A do-while loop is used to repeatedly display the menu until the user selects the
exit option. do{
// menu operations
}while(choice != 4);
10. Main Method
The main() method is the entry point of the Java program where execution begins.
public static void main(String args[])
11. Output Statements
[Link]() and [Link]() are used to display messages and results
to the user.
[Link]("Amount Deposited Successfully");
Conclusion
The Mini ATM Machine System project successfully demonstrates how basic
banking operations can be implemented using the Java programming language.
The system allows users to create an account by entering the account number,
account holder name, and initial balance. It provides essential ATM functionalities
such as depositing money, withdrawing money, and checking the account
balance through a simple menu-driven interface.
This project helps in understanding important programming concepts such as
classes, objects, methods, conditional statements, loops, and user input
handling in Java. The use of these concepts makes the program organized,
efficient, and easy to understand.
Overall, the Mini ATM Machine System provides a simple simulation of
realworld ATM operations and helps beginners improve their logical thinking
and programming skills while learning Java.
References
1. Herbert Schildt, Java: The Complete Reference, McGraw-Hill Education.
2. E. Balagurusamy, Programming with Java, McGraw-Hill Education.
3. Oracle Java Documentation – [Link]
4. Java Programming Tutorials – [Link]
5. Lecture Notes and Study Materials provided by the course instructor.