0% found this document useful (0 votes)
6 views21 pages

Java Microproject Report

The document is a micro-project report for a 'Mini Banking System' developed by students of Government Polytechnic, Thane, under the guidance of Mrs. S.S. Waje. It outlines the project's objectives, course outcomes, and includes Java code that implements a banking application with functionalities like account creation, deposit, withdrawal, and account search. The report also includes evaluation sheets for each student involved in the project.

Uploaded by

jagdishgavhande
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views21 pages

Java Microproject Report

The document is a micro-project report for a 'Mini Banking System' developed by students of Government Polytechnic, Thane, under the guidance of Mrs. S.S. Waje. It outlines the project's objectives, course outcomes, and includes Java code that implements a banking application with functionalities like account creation, deposit, withdrawal, and account search. The report also includes evaluation sheets for each student involved in the project.

Uploaded by

jagdishgavhande
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

GOVERNMENT POLYTECHNIC, THANE

PROGRAMME- INFORMATION TECHNOLOGY

Institute Code- 0116


Java Programming ()
A Micro-Project REPORT
On
“Mini Banking System”
Submitted By
[Link] Tukaram Patil (23110220440)

[Link] Ravindra Gavhande (23110220403)

[Link] Vijay Patil (23110220437)

UNDER GUIDANCE OF

Mrs. [Link]
LECTURER, INFORMATION TECHNOLOGY DEPARTMENT
1
GOVERNMENT POLYTECHNIC, THANE

MAHARASHTRA STATE BOARD OF TECHNICAL

EDUCATION (2024-2025)

Micro-Project Evaluation Sheet

Name of student: Yash Tukaram Patil


Roll No: 49
Name of programme: Information Technology Semester:4th

Processes Assessment Product Assessment Total


Marks
(10)

Enrolment Name of Part A Project Part B Individual


No. Student -Project Methodology Project presentatio
Proposal (2 marks) Report/ n/
(2 marks) Working Viva
Model (4 marks)
(2 marks)

23110220440 Yash
Tukaram
Patil

2
GOVERNMENT POLYTECHNIC, THANE

MAHARASHTRA STATE BOARD OF TECHNICAL

EDUCATION (2024-2025)

Micro-Project Evaluation Sheet

Name of student: Jagdish Ravindra Gavhande


Roll No: 13
Name of programme: Information Technology Semester: 4th

Processes Assessment Product Assessment Total


Marks
(10)

Enrolment Name of Part A - Project Part B Individual


No. Student Project Methodology Project presentatio
Proposal (2 marks) Report/ n/
( 2 marks) Working Viva
Model (4 marks)
(2 marks)

23110220403 Jagdish
Ravindra
Gavhande

3
GOVERNMENT POLYTECHNIC, THANE

MAHARASHTRA STATE BOARD OF TECHNICAL

EDUCATION (2024-2025)

Micro-Project Evaluation Sheet

Name of student: Paresh Vijay Patil


Roll No: 46
Name of programme: Information Technology Semester: 4th

Processes Assessment Product Assessment Total


Marks
(10)

Enrolment Name of Part A- Project Part B Individual


No. Student Project Methodology Project presentatio
Proposal (2 marks) Report/ n/
(2 marks) Working Viva
Model (4 marks)
(2 marks)

23110220437 Paresh
Vijay
Patil

4
GOVERNMENT POLYTECHNIC, THANE

CERTIFICATE

This is to certified that following Second year Information


Technology students have successfully and satisfactory
completed their micro project work, entitled “Mini Banking
System” in partial fulfillment of the requirement for diploma in
information technology academic year 2024-2025.

[Link] Tukaram Patil (23110220440)

[Link] Ravindra Gavhande (23110220403)

[Link] Vijay Patil (23110220437)

[Link] Mr. [Link]


Subject Teacher H.O.D

5
Table of Contents

Sr. No Topics Page NO.

1 Rational

2 Course Outcomes Addressed

3 Programe Code

4 Output of the micro-project

6
A Micro-Project Report On

“Mini Banking System”

Rational :-

The goal of this Java micro project is to develop a simple, functional


application using the Java programming language. This project aims to
demonstrate key principles of software development and object-oriented
programming (OOP). It will focus on applying core Java concepts such as
classes, inheritance, polymorphism, exception handling, and data structures.
These concepts will be implemented in a practical and manageable scope,
allowing developers to gain hands-on experience in Java programming while
reinforcing theoretical knowledge.

Course Outcomes Addressed :-

 CO1 - Develop Java programs using classes and objects


 CO2 - Develop Java programs for implementing the code reusability
concept
 CO3 - Develop programs to implement exception handling
 CO4 - Develop Java programs for implementing event handling using
window-based application components

7
Programme Code:
import [Link].*;
import [Link].*;
import [Link];
import [Link];
import [Link].*;

// Custom exception for insufficient balance


class InsufficientBalanceException extends Exception
{
public InsufficientBalanceException(String message)
{
super(message);
}
}

// Custom exception for invalid account number


class InvalidAccountException extends Exception
{
public InvalidAccountException(String message)
{
super(message);
}
}

// Interface defining common bank account operations


interface BankAccount
{
void openAccount(String accno, String name, long balance) throws
InputMismatchException;
void showAccount();
void deposit(long amt) throws InputMismatchException;
void withdrawal(long amt) throws InsufficientBalanceException,
InputMismatchException;
boolean search(String acn);
10
}

// Base class implementing the BankAccount interface


class Account implements BankAccount
{
protected String accno;
protected String name;
protected long balance;

// Constructor for predefined accounts


Account(String accno, String name, long balance)
{
[Link] = accno;
[Link] = name;
[Link] = balance;
}

// Default constructor for user-created accounts


Account() {}

@Override
public void openAccount(String accno, String name, long balance) throws
InputMismatchException
{
[Link] = accno;
[Link] = name;
[Link] = balance;
if (balance < 0)
{
throw new InputMismatchException("Balance cannot be negative.");
}
}

@Override
public void showAccount()
10
{
[Link](accno + ", " + name + ", " + balance);
}

@Override
public void deposit(long amt) throws InputMismatchException
{
if (amt < 0)
{
throw new InputMismatchException("Deposit amount cannot be negative.");
}
balance += amt;
}

@Override
public void withdrawal(long amt) throws InsufficientBalanceException,
InputMismatchException
{
if (amt < 0)
{
throw new InputMismatchException("Withdrawal amount cannot be negative.");
}
if (balance < amt)
{
throw new InsufficientBalanceException("Insufficient Balance. Transaction
Failed.");
}
balance -= amt;
}

@Override
public boolean search(String acn)
{
return [Link](acn);
}
10
}

// Derived class extending the Account class


class MiniBank extends Account
{
// Default constructor for user-created accounts
MiniBank()
{
super();
}

// Constructor for predefined accounts


MiniBank(String accno, String name, long balance)
{
super(accno, name, balance);
}
}

// Main class to run the banking application with GUI


public class BankManagementSystem11 extends JFrame implements ActionListener
{
// Predefined previous customer accounts
static ArrayList<MiniBank> prevCustomers = new ArrayList<>()
{{
add(new MiniBank("23110220440", "Yash", 245000));
add(new MiniBank("23110220437", "Paresh", 318000));
add(new MiniBank("23110220403", "Jagdish", 467000));
}};

// Dynamic list to store new accounts


static ArrayList<MiniBank> newCustomers = new ArrayList<>();

// GUI Components
private JTextArea outputArea;
private JTextField accNoField, nameField, balanceField, amountField;
10
private JButton createButton, depositButton, withdrawButton, searchButton,
displayButton, exitButton;

public BankManagementSystem11()
{
// Set up the JFrame
setTitle("Bank Management System");
setSize(500, 500); // Increased height for better spacing
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());

// Create input panel


JPanel inputPanel = new JPanel();
[Link](new GridLayout(7, 0, 0, 0)); // Adjusted rows to accommodate
spacing

JLabel accNoLabel = new JLabel("Account No:");


[Link](accNoLabel);
accNoField = new JTextField();
[Link](accNoField);

[Link](new JLabel("")); // Empty label for spacing

JLabel nameLabel = new JLabel("Name:");


[Link](nameLabel);
nameField = new JTextField();
[Link](nameField);

[Link](new JLabel("")); // Empty label for spacing

JLabel balanceLabel = new JLabel("Balance:");


[Link]([Link]);
[Link](balanceLabel);
balanceField = new JTextField();
[Link](balanceField);
10
[Link](new JLabel("")); // Empty label for spacing

JLabel amountLabel = new JLabel("Amount:");


[Link]([Link]);
[Link](amountLabel);
amountField = new JTextField();
[Link](amountField);

[Link](new JLabel("")); // Empty label for spacing

// Create buttons
createButton = new JButton("Create Account");
[Link](this);
[Link](createButton);

depositButton = new JButton("Deposit");


[Link](this);
[Link](depositButton);

withdrawButton = new JButton("Withdraw");


[Link](this);
[Link](withdrawButton);

searchButton = new JButton("Search Account");


[Link](this);
[Link](searchButton);

displayButton = new JButton("Display All Accounts");


[Link](this);
[Link](displayButton);

exitButton = new JButton("Exit");


[Link](this);
[Link](exitButton);
10
// Create output area
outputArea = new JTextArea();
[Link](false);
[Link](new Font("Monospaced", [Link], 14)); // Use monospaced
font for better alignment
JScrollPane scrollPane = new JScrollPane(outputArea);

// Add components to the frame


add(inputPanel, [Link]);
add(scrollPane, [Link]);

// Display the frame


setVisible(true);
}

// Helper method to search for an account


private MiniBank searchAccount(String acn) throws InvalidAccountException
{
// Search in new customers
for (MiniBank account : newCustomers)
{
if ([Link](acn))
{
return account;
}
}

// Search in previous customers


for (MiniBank customer : prevCustomers)
{
if ([Link](acn))
{
return customer;
}
10
}

// If not found, throw an exception


throw new InvalidAccountException("Account Not Found.");
}

// ActionListener implementation
@Override
public void actionPerformed(ActionEvent e)
{
try
{
if ([Link]() == createButton)
{
String accno = [Link]();
String name = [Link]();
long balance = [Link]([Link]());

MiniBank newAccount = new MiniBank();


[Link](accno, name, balance);
[Link](newAccount);
[Link]("Account Created Successfully.\n\n");
}
else if ([Link]() == depositButton)
{
String accno = [Link]();
long amt = [Link]([Link]());

MiniBank account = searchAccount(accno);


[Link](amt);
[Link]("Deposit Successful.\n");
[Link]("Updated Balance:" + [Link] + "\n\n");
}
else if ([Link]() == withdrawButton)
{
10
String accno = [Link]();
long amt = [Link]([Link]());

MiniBank account = searchAccount(accno);


[Link](amt);
[Link]("Withdrawal Successful.\n");
[Link]("Updated Balance:" + [Link] + "\n\n");
}
else if ([Link]() == searchButton)
{
String accno = [Link]();
MiniBank account = searchAccount(accno);
[Link]("Account Details:\n");
[Link]("Account No:" + [Link] + "\n");
[Link]("Name:" + [Link] + "\n");
[Link]("Balance:" + [Link] + "\n\n");
}
else if ([Link]() == displayButton)
{
[Link]("Previous Customers:\n");
for (MiniBank customer : prevCustomers)
{
[Link]("Account No:" + [Link] + "\n");
[Link]("Name:" + [Link] + "\n");
[Link]("Balance:" + [Link] + "\n\n");
}
[Link]("New Customers:\n");
for (MiniBank account : newCustomers)
{
[Link]("Account No:" + [Link] + "\n");
[Link]("Name:" + [Link] + "\n");
[Link]("Balance:" + [Link] + "\n\n");
}
}
else if ([Link]() == exitButton)
10
{
[Link](0);
}
}
catch (InvalidAccountException | InsufficientBalanceException |
InputMismatchException ex)
{
[Link]("Error: " + [Link]() + "\n\n");
}
catch (NumberFormatException ex)
{
[Link]("Error: Invalid input. Please enter valid numbers.\n\n");
}
}

public static void main(String[] args)


{
new BankManagementSystem11();
}
}

10
Output of the Micro-Project :
Account Creation:-

Display All Created Accounts:-

10
Deposit by Account NO. :-

Withdraw by Account No. :-

10
Search Account by Account No. :-

Name of the student’s with Enrollment No:-

Name of Group Members Enrollment No.


Yash Tukaram Patil 23110220440
Jagdish Ravindra Gavhande 23110220403
Paresh Vijay Patil 23110220437

10
Mrs. S.S. Waje

Lect. In Information Technology Dept.

10

You might also like