0% found this document useful (0 votes)
20 views14 pages

AJP Report

ajp micropro

Uploaded by

aryannnborse2k5
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)
20 views14 pages

AJP Report

ajp micropro

Uploaded by

aryannnborse2k5
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
You are on page 1/ 14

Programme Name: Computer Engineering Academic Year: 2024 – 2025

Program Code: CO5I Semester: Fifth


Course Name: Advanced Java Programming Course Code: (22517)

A STUDY ON

Currency Converter INR ₹ to USD $

MICRO PROJECT REPORT


Submitted by the group of 3 students,

Group Number: 24

Roll.no
Sr.no Name of student Enrollment No Seat No

1 10 Borse Aryan Shailendra 2200590083


2 05 Shelke Nikita Devidas 22005900
3 06 Mahale Sanskriti Shantaram 22005900
4 17

Under the Guidance of


Ms. C. S. Patil
in
Three Years Diploma Programme in Engineering and Technology of
Maharashtra State Board of Technical Education, Mumbai (Autonomous)
ISO 9001: 2008 (ISO/IEC-27001:2013)
at

Shri Shivaji Vidya Prasarak Sanstha’s


Bapusaheb Shivajirao Deore Polytechnic – 0059
Vidyanagari, Deopur, Dhule-424005
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION,
MUMBAI

Certificate
This is to certify that Mr. / Ms. _______________________________________

of Fifth Semester of Diploma Programme in Computer Engineering at Shri

Shivaji Vidya Prasarak Sanstha’s Bapusaheb Shivajirao Deore Polytechnic,

Dhule (Institute Code: 0059) has completed the Micro Project satisfactorily in

Subject Advanced Java Programming (22517) in the academic year 2024-2025 as

prescribed in the MSBTE curriculum of I Scheme.

Place: Dhule Enrollment No: ___________________

Date: / / 2024 Exam. Seat No: ___________________

Project Guide Head of the Department Principal

Seal of
institute
MAHARASHTRA STATE BOARD OF TECHNICAL
EDUCATION, MUMBAI

Certificate
This is to certify that,
Roll No Enrollment No Name Exam Seat No.

10 2200590083 Borse Aryan Shailendra


05 22005900 Shelke Nikita Devidas
06 22005900 Mahale Sanskriti Shantaram

Students of Fifth Semester Diploma Programme in Computer Engineering at


Shri Shivaji Vidya Prasarak Sanstha’s Bapusaheb Shivajirao Deore
Polytechnic, Dhule (Institute Code: 0059), have completed the Micro Project
satisfactorily in Subject Advanced Java Programming (22517) in the academic
year 2024–2025 as prescribed in the MSBTE curriculum of I Scheme.

Place: Dhule Date: / / 2024

Project Guide Head of the Department Principal

Seal of
institute
Part A: Micro-Project Proposal
Title: Currency Converter INR ₹ to USD $
1.0 Introduction:
This project aims to create a currency Calculator using Java's Swing framework, providing a
user-friendly interface for performing basic currency conversions operations.
By developing this Currency Calculator, we will enhance our understanding of Java
programming and GUI design, demonstrating key concepts such as event handling and user
interaction. Ultimately, this project serves as a practical tool for learning and applying
programming skills in a real-world application.

2.0 Aim of the Micro-Project:


The aim of this micro-project is to create and understand the usage and functionality of the
Calculator Application developed in Java.

3.0 Intended Course Outcomes:


a. Develop program using GUI framework (Swing)
b. Handle events of Swing Components.
c. Develop programs to handle events in Java Programming.

4.0Literature Review:
Java Swing is a popular toolkit for building platform-independent GUI applications, offering
components like JFrame, JButton, and JTextField, which are ideal for creating a simple
calculator. Swing's flexibility and event-driven model, based on ActionListener, make it
suitable for handling user interactions efficiently. Previous research and tutorials demonstrate
how Swing enables the development of functional calculators by managing button events and
real-time display updates. This project builds on established principles of GUI design and
event-driven programming to create an interactive desktop calculator using Java Swing.
5.0Proposed Methodology:
For our Java Swing-based Currency Calculator project, start by defining the coversions of
INR₹ to USD$. Use JFrame as the main window, with a JTextField for the display and
JButtons for numbers and operators, arranged using a GridLayout for proper alignment. Each
button should trigger an action through ActionListener to update the display or perform
calculations.
In implementation, focus on designing a class structure with a main class (e.g.CalculatorApp)
that extends JFrame, handling button clicks and ensuring correct calculation logic.
Thoroughly test the functionality, including edge cases like dividing by zero or handling
large numbers.

6.0 Resources Required:

Sr.
Name of Resource/Material Specifications Quantity Remarks
No.

Computer system with broad


1. Any operating system 1
specification

Notepad or any text editor,


2. Application, Website 1
JDK
7.0 Action Plan:
Sr. Details of Activity Planned Start Planned Name of Team
no Date Finish Date Member
1. Define problem for
project
2. Searching and gathering
Aaryan Borse
Requirements
3. Designing the project

4. Documentation

5. Demonstration
Part B: Micro-Project Report
Title: Currency Converter INR ₹ to USD $
1.0 Rationale:
This project is designed to enhance understanding of Java Swing for GUI development and
event-driven programming. Creating a calculator offers practical experience with Java
components like JButton and JTextField, while developing essential skills in handling user
inputs through ActionListeners. It provides a real-world application with a simple, user-
friendly interface, laying the foundation for future desktop application development.
Additionally, it emphasizes problem-solving and logical reasoning in translating everyday
tools into functional software solutions.

2.0 Course Outcomes Addressed:


a. Develop programs using Swing components.
b. Develop programs to handle events in Java programming.

3.0 Literature Review:


Java Swing is a popular toolkit for building platform-independent GUI applications, offering
components like JFrame, JButton, and JTextField, which are ideal for creating a simple calculator.
Swing's flexibility and event-driven model, based on ActionListener, make it suitable for
handling user interactions efficiently. Previous research and tutorials demonstrate how Swing
enables the development of functional calculators by managing button events and real-time
display updates. This project builds on established principles of GUI design and event-driven
programming to create an interactive desktop calculator using Java Swing.
4.0 Actual Methodology Used:
Source Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Calculator4 extends JFrame implements ActionListener
{
private JTextField display;
private JButton[] numberButtons = new JButton[10];
private JButton[] functionButtons = new JButton[8];
private JButton addButton, subButton, mulButton, divButton, decButton, eqButton,
delButton, clrButton;
private JPanel panel;
// Variables for calculation
private double num1 = 0, num2 = 0, result = 0;
private char operator;
private boolean operatorPressed = false;
public Calculator4()
{
// Frame setup
setTitle("Sequential Calculator");
setSize(400, 550);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null);
// Display setup
display = new JTextField();
display.setBounds(50, 25, 300, 50);
display.setFont(new Font("Arial", Font.BOLD, 28));
display.setHorizontalAlignment(SwingConstants.RIGHT);
display.setEditable(false);
add(display);
// Creating number buttons
for (int i = 0; i < 10; i++)
{
numberButtons[i] = new JButton(String.valueOf(i));
numberButtons[i].setFont(new Font("Arial", Font.BOLD, 20));
numberButtons[i].setFocusable(false);
numberButtons[i].addActionListener(this);
}
// Creating function buttons
addButton = new JButton("+");
subButton = new JButton("-");
mulButton = new JButton("*");
divButton = new JButton("/");
decButton = new JButton(".");
eqButton = new JButton("=");
delButton = new JButton("DEL");
clrButton = new JButton("CLR");
functionButtons[0] = addButton;
functionButtons[1] = subButton;
functionButtons[2] = mulButton;
functionButtons[3] = divButton;
functionButtons[4] = decButton;
functionButtons[5] = eqButton;
functionButtons[6] = delButton;
functionButtons[7] = clrButton
for (int i = 0; i < 8; i++) {
functionButtons[i].setFont(new Font("Arial", Font.BOLD, 20));
functionButtons[i].setFocusable(false);
functionButtons[i].addActionListener(this);
}
// Panel to hold the buttons
panel = new JPanel();
panel.setBounds(50, 100, 300, 400);
panel.setLayout(new GridLayout(5, 4, 10, 10)); // 5 rows, 4 columns with 10px padding

// Adding buttons in the order you want for a systematic layout


panel.add(clrButton); // Row 1
panel.add(delButton);
panel.add(divButton);
panel.add(mulButton);
panel.add(numberButtons[7]); // Row 2
panel.add(numberButtons[8]);
panel.add(numberButtons[9]);
panel.add(subButton);

panel.add(numberButtons[4]); // Row 3
panel.add(numberButtons[5]);
panel.add(numberButtons[6]);
panel.add(addButton);
panel.add(numberButtons[1]); // Row 4
panel.add(numberButtons[2]);
panel.add(numberButtons[3]);
panel.add(eqButton);
panel.add(decButton); // Row 5
panel.add(numberButtons[0]);
panel.add(new JLabel("")); // Empty space for alignment
add(panel);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
// Number input handling
for (int i = 0; i < 10; i++) {
if (e.getSource() == numberButtons[i]) {
display.setText(display.getText() + i);
operatorPressed = false; // Reset flag after number input
}
}
// Decimal button handling
if (e.getSource() == decButton) {
String currentText = display.getText();
// Check for decimal in the current operand (before or after operator)
if (operatorPressed) {
String[] parts = currentText.split("[" + operator + "]");
if (parts.length > 1 && !parts[1].contains(".")) {
display.setText(currentText + ".");
}
} else {
if (!currentText.contains(".")) {
display.setText(currentText + ".");
}
}
}
// Clear display
if (e.getSource() == clrButton) {
display.setText("");
num1 = num2 = result = 0;
}
// Delete last character
if (e.getSource() == delButton) {
String currentText = display.getText();
display.setText(currentText.length() > 0 ? currentText.substring(0,
currentText.length() - 1) : "");
}
// Operator button handling
if (e.getSource() == addButton || e.getSource() == subButton || e.getSource() ==
mulButton || e.getSource() == divButton) {
num1 = Double.parseDouble(display.getText());
operator = e.getActionCommand().charAt(0);
display.setText(display.getText() + " " + operator + " ");
operatorPressed = true; // Flag that operator is pressed
}
// Equals button handling
if (e.getSource() == eqButton) {
String[] parts = display.getText().split(" ");
if (parts.length < 3) return;
num1 = Double.parseDouble(parts[0]);
operator = parts[1].charAt(0);
num2 = Double.parseDouble(parts[2]);
switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 != 0)
result = num1 / num2;
else {
display.setText("Cannot divide by zero");
return;
}
break;
}
display.setText(String.valueOf(result));
num1 = result; // Store the result to allow chaining
}
}
public static void main(String[] args) {
new Calculator4();
}
}

5.0 Actual Resources Used:

Sr.
Name of Resource/Material Specifications Quantity Remarks
No.

1. Computer system with broad OS: Windows 11 (64 bit) 1


specification
Processor: Intel i3 11th Gen

RAM: 8 GB

2. Application, Website Wikipedia, Word 1


6.0 Output of Micro-Project:
7.0 Skill Developed/Learning outcome of this Micro-Project:

 Experienced good team work.


 Got more familiar to the concept of Advance Java Programming.
 Implemented the concept of Advance Java such as event handling.

8.0 Application of the Micro-Project:


1. Basic Calculator Tool :- This project serves as a functional desktop calculator for
performing simple arithmetic operations (addition, subtraction, multiplication, and
division).
2. Educational Tool :- It can be used to teach or demonstrate Java Swing, event handling,
and GUI development in programming courses or workshops.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy