0% found this document useful (0 votes)
7 views

JAVA Microproject

MINI BANKING SYSYEM

Uploaded by

akshaypowar4684
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

JAVA Microproject

MINI BANKING SYSYEM

Uploaded by

akshaypowar4684
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

JAVA

MICRO PROJECT REPORT

On
“MINI BANKING SYSYEM USING JAVA”
Submitting to

Department of Computer Engineering in, partial fulfillment of

The Requirement for award of the diploma in

COMPUTER ENGINEERING

SUBMITTED BY

Mr. Sutar Sangram Ramesh

Mr. Mangaonkar Mujahidin Khalid

Mr. Chougale Harshad Prakash

Mr. Powar Akshay Rajendra

Mr. Kambale Siddharth Datta

UNDER THE GUIDANCE OF

Ms. S. S. Patil

MSBTE, MUMBAI.

Department of COMPUTER ENGING

Dr.A.D.Shinde Institute of Technology,Gadhinglaj.

2023-2024

1
JAVA

DINKARRAO K. SHINDE SMARAK TRUST’S, “DR. A. D. SHINDE


INSTITUTE OF TECHNOLOGY” GUDDAI, AP BAHADGAON, TAL, -
GADHINGLAJ, DIST- KOLHAPUR

Certificate
This is to certify that the following student
SR NO Enrollment No Seat No Student Name
1 2109610071 215937 Sutar Sangram Ramesh

2 23212200129 215982 Mangaonkar Mujahidin Khalid

3 23212200132 215985 Chougale Harshad Prakash

4 23212200143 215993 Powar Akshay Rajendra

5 23212200144 215994 Kambale Siddharth Datta

of 4th semester of Diploma in Computer Engineering Of Institute Dr. A. D. Shinde Institute


Of Technology, Bhadgaon- 416502(Code-0961) has completed Micro project on (“MINI
BANKING SYSYEM") satisfactory in subject “JPR” subject code (22412) for the for
academic year 2023-2024 as prescribed in the curriculum.

DATE: / /2024 PLACE: Bhadgoan

Ms. S.S. Patil Prof. Belli R.S. Prof. A. S. Shelake


(Project Guide) (Head of Department) (principal)

2
JAVA

ABSTRACT

The Mini Banking System project implemented in Java serves as an


educational endeavor to simulate essential functionalities of a banking system
within a programming context. Java, renowned for its platform independence,
robust security features, and extensive ecosystem, serves as the foundation for
developing a miniature yet functional banking application.

This project encapsulates core banking operations through object-oriented


design principles, modular code architecture, and user interaction paradigms.
By modeling classes such as `Account`, `Customer`, `Transaction`, and `Bank`,
the project aims to provide a simplified representation of real-world banking
systems.

Users are presented with an opportunity to gain hands-on experience in Java


programming, deepen their understanding of object-oriented concepts, and
explore fundamental banking operations such as account management,
transaction processing, and user interface design. Leveraging Java's rich
ecosystem, the project offers a platform for learners to extend functionalities,
refine implementations, and delve into advanced topics related to software
development and financial technology.

Through its educational focus, the Mini Banking System project fosters a
practical understanding of programming principles, financial management
practices, and system design considerations, paving the way for further
exploration and skill development in both Java programming and banking
domain knowledge.

3
JAVA

INDEX

.
SE TITLE
No.
INTRODUCTION
1
2 AIM & OBJECTIVE
3 SYSTEM REQURMENT
4 ADVANTAGES & DISADVANTAGES
5 SOURCE CODE
6 OUTPUT
7 CONCLUSION
8 REFERENCES

4
JAVA

1. INTRODUCTION

The Mini Banking System developed in Java serves as an educational project aimed at providing
a practical understanding of fundamental banking functionalities within a programming context.
Banking systems are vital components of modern economies, facilitating financial transactions and
managing customer accounts. This project offers a simplified yet comprehensive representation of
core banking operations, including account management, transaction processing, and customer
interactions.

Through the implementation of classes such as Account, Customer, Transaction, and Bank, this
project demonstrates object-oriented programming concepts, encapsulation, and modular design
principles. Users are introduced to the concepts of account management, customer relationship
management, and transaction processing, all essential components of real-world banking systems.

The system features a basic user interface, enabling users to create accounts, deposit and withdraw
funds, and inquire about account balances. By engaging with this project, learners gain hands-on
experience in Java programming while exploring the intricacies of banking operations in a
controlled environment. This project serves as a valuable learning tool for aspiring programmers
seeking to develop practical skills in software development and financial management.

5
JAVA

2. AIM & OBJECTIVE

Aim:

The aim of the Mini Banking System project in Java is to create a simplified yet functional
representation of a banking system, providing users with a platform to learn and understand core
banking operations within a programming context.

Objectives:

1. Develop a set of classes representing essential components of a banking system, including


accounts, customers, transactions, and the bank itself.
2. Implement account management functionalities such as depositing, withdrawing, and
checking balances.
3. Design customer classes to store personal information and manage relationships with
accounts.
4. Create a bank class to oversee customer management, account operations, and transaction
processing.
5. Develop a basic user interface allowing users to interact with the system, perform
transactions, and query account information.
6. Demonstrate object-oriented programming principles including encapsulation, inheritance,
and polymorphism.
7. Provide a hands-on learning experience for users to gain practical skills in Java
programming and understand the fundamental concepts of banking systems.
8. Foster an understanding of financial management principles such as account reconciliation,
transaction security, and customer service.
9. Encourage users to explore and expand upon the project, adding additional features,
improving functionality, and enhancing the user experience.
10. Serve as a stepping stone for further learning and exploration in software development,
financial technology, and related fields.

6
JAVA

3. SYSTEM AND REQURIMENT

• Edition - windows 10 pro

• Product ID- 00330-8000000000-AA498

• Processor - intel ® core ™i3-2120 CPU @3.30GHz 3.30GHz

• Installed RAM- 4.00 GB (3.82 GB unable)

• System type -64-bit operating system,x64-basedprocessor

7
JAVA

4. ADVANTAGES & DISADVANTAGES

Advantages:

1.Platform Independence:
Java applications can run on any platform that supports Java, providing flexibility and
compatibility across different operating systems.

2. Rich Ecosystem:
Java offers a vast ecosystem of libraries, frameworks, and tools that can be leveraged to develop
robust and scalable banking applications efficiently.

3.Object-Oriented Approach:
Java's object-oriented nature allows for the creation of modular, reusable code, making it easier to
manage and maintain the banking system's components.

4.Security:
Java provides built-in security features such as bytecode verification, encryption libraries, and
robust authentication mechanisms, enhancing the security of the banking system.

5.Community Support:
Java has a large and active developer community, offering access to resources, forums, and
documentation that can assist in overcoming challenges and troubleshooting issues during the
development process.

Disadvantages:

1.Performance Overhead:
Java applications may suffer from performance overhead due to the need for runtime interpretation
by the Java Virtual Machine (JVM), which can impact the system's responsiveness, especially for
high-throughput banking transactions.

2.Memory Consumption:
Java applications typically consume more memory compared to lower-level languages, which
could be a concern for resource-constrained environments or when deploying the banking system
on devices with limited memory.

3.Learning Curve:
Java has a steep learning curve for beginners, especially those unfamiliar with object-oriented
programming concepts, which may require additional time and effort to grasp.

8
JAVA

5. SOURCE CODE

1. import java. util. Scanner;


2. class BankDetails {
3. private String accno;
4. private String name;
5. private String acc_type;
6. private long balance;
7. Scanner sc = new Scanner (System.in);
8. //method to open new account
9. public void openAccount () {
10. System.out.print("Enter Account No: ");
11. accno = sc.next();
12. System.out.print("Enter Account type: ");
13. acc_type = sc.next();
14. System.out.print("Enter Name: ");
15. name = sc.next();
16. System.out.print("Enter Balance: ");
17. balance = sc.nextLong();
18. }
19. //method to display account details
20. public void showAccount() {
21. System.out.println("Name of account holder: " + name);
22. System.out.println("Account no.: " + accno);
23. System.out.println("Account type: " + acc_type);
24. System.out.println("Balance: " + balance);
25. }
26. //method to deposit money
27. public void deposit() {
28. long amt;
29. System.out.println("Enter the amount you want to deposit: ");
30. amt = sc.nextLong();

9
JAVA

31. balance = balance + amt;


32. }
33. //method to withdraw money
34. public void withdrawal() {
35. long amt;
36. System.out.println("Enter the amount you want to withdraw: ");
37. amt = sc.nextLong();
38. if (balance >= amt) {
39. balance = balance - amt;
40. System.out.println("Balance after withdrawal: " + balance);
41. } else {
42. System.out.println("Your balance is less than " + amt + "\tTransaction failed...
!!" );
43. }
44. }
45. //method to search an account number
46. public boolean search(String ac_no) {
47. if (accno.equals(ac_no)) {
48. showAccount();
49. return (true);
50. }
51. return (false);
52. }
53. }
54. public class BankingApp {
55. public static void main(String arg[]) {
56. Scanner sc = new Scanner(System.in);
57. //create initial accounts
58. System.out.print("How many number of customers do you want to input? ");
59. int n = sc.nextInt();
60. BankDetails C[] = new BankDetails[n];
61. for (int i = 0; i < C.length; i++) {
62. C[i] = new BankDetails();
63. C[i].openAccount();

10
JAVA

64. }
65. // loop runs until number 5 is not pressed to exit
66. int ch;
67. do {
68. System.out.println("\n ***Banking System Application***");
69. System.out.println("1. Display all account details \n 2. Search by Account nu
mber\n 3. Deposit the amount \n 4. Withdraw the amount \n 5.Exit ");
70. System.out.println("Enter your choice: ");
71. ch = sc.nextInt();
72. switch (ch) {
73. case 1:
74. for (int i = 0; i < C.length; i++) {
75. C[i].showAccount();
76. }
77. break;
78. case 2:
79. System.out.print("Enter account no. you want to search: ");
80. String ac_no = sc.next();
81. boolean found = false;
82. for (int i = 0; i < C.length; i++) {
83. found = C[i].search(ac_no);
84. if (found) {
85. break;
86. }
87. }
88. if (!found) {
89. System.out.println("Search failed! Account doesn't exist..!!");
90. }
91. break;
92. case 3:
93. System.out.print("Enter Account no. : ");
94. ac_no = sc.next();
95. found = false;
96. for (int i = 0; i < C.length; i++) {

11
JAVA

97. found = C[i].search(ac_no);


98. if (found) {
99. C[i].deposit();
100. break;
101. }
102. }
103. if (!found) {
104. System.out.println("Search failed! Account doesn't exist..!!");
105. }
106. break;
107. case 4:
108. System.out.print("Enter Account No : ");
109. ac_no = sc.next();
110. found = false;
111. for (int i = 0; i < C.length; i++) {
112. found = C[i].search(ac_no);
113. if (found) {
114. C[i].withdrawal();
115. break;
116. }
117. }
118. if (!found) {
119. System.out.println("Search failed! Account doesn't exist..!!");
120. }
121. break;
122. case 5:
123. System.out.println("See you soon...");
124. break;
125. }
126. }
127. while (ch != 5);
128. }
129. }

12
JAVA

6. OUTPUT

13
JAVA

14
JAVA

7. CONCLUSION

In conclusion, the Mini Banking System project implemented in Java offers a comprehensive
learning experience for aspiring programmers seeking to delve into the realms of software
development and financial technology. Through the development of modular components such as
accounts, customers, transactions, and the bank itself, users are introduced to key concepts of
object-oriented programming, including encapsulation, inheritance, and polymorphism.

By leveraging Java's platform independence, security features, and extensive ecosystem, the
project provides a robust foundation for simulating essential functionalities of real-world banking
systems. The project's emphasis on hands-on experience enables users to gain practical skills in
Java programming while exploring fundamental banking operations such as depositing,
withdrawing, and account management.

While the project offers a simplified representation of banking systems, it serves as a valuable
educational tool for understanding core concepts of financial management, customer relationship
management, and system design. Furthermore, the project encourages users to extend
functionalities, refine implementations, and explore advanced topics, thereby fostering continuous
learning and skill development.

In summary, the Mini Banking System project serves as a stepping stone for learners to embark
on their journey in software development, financial technology, and related fields. Through its
educational focus, practical approach, and utilization of Java programming, the project equips
users with the knowledge and skills necessary to tackle real-world challenges in banking and
beyond.

15
JAVA

8. REFFERENCES

• I used below links as Reference

1. https://www.scribd.com/document/450874486/Micro-Project-Java

2. https://www.geeksforgeeks.org/mini-banking-application-in-java/

3. https://www.javatpoint.com/banking-application-in-java

4. https://www.studocu.com/in/document/government-polytechnic-nagpur/advanced-java-programming/java-
project/42653323

16

You might also like