Java Project
Java Project
Subject Name :
Experiment No :
D.O.P.: D.O.S.:
Student Name:
1 Timely Submission 2
2 Novelty / Innovation 3
3 Implementation 5
Total Marks 10
Subject In-charge Sign
Guide:
This is certified that the work of MINI PROJECT done in this report
on topic “Currency Converter” was carried out by me
under the supervision of Prof. Hima Kantharia.
Sign of Student Sign of Guide
The
ABSTRACT
The Currency Converter is a fundamental Java application designed to assist users in converting
monetary values between different currencies, providing an essential tool for individuals engaged in
international travel, business, or financial transactions. In a globalized economy, where the exchange of
goods and services crosses borders, having access to accurate and timely currency conversion is vital for
making informed financial decisions. This project aims to simplify this process by delivering a user-
friendly platform for currency conversion, employing core concepts of Object-Oriented Programming
(OOP).
The application is built on the principles of OOP, which promotes the organization of code into
manageable, reusable components known as classes and objects. By modeling the domain of currency
conversion through OOP, the project ensures better structure, maintainability, and scalability. The system
encapsulates essential features, allowing users to select currencies, input amounts, and view conversion
results without being overwhelmed by complex underlying logic.
The
2. Project Scope
Currency Converter project includes essential features that facilitate currency conversion, focusing on
usability, functionality, and scalability.
1. Currency Management
● Currency Class: Represents different currencies with attributes such as currency code (e.g., USD,
EUR) and exchange rate relative to a base currency.
● The application will maintain a collection of currency objects for easy access.
2. User Interaction
● Console-Based Interface: Users can select currencies, input the amount to convert, and view
conversion results.
● Input Validation: Ensures valid currency selections and positive numerical inputs.
3. Conversion Logic
● Conversion Calculation: Implemented in the Converter class using the formula: Converted
Amount=Amount×(Target RateSource Rate)\text{Converted Amount} =
\text{Amount} \times \left( \frac{\text{Target Rate}}{\text{Source Rate}}
\right)Converted Amount=Amount×(Source RateTarget Rate )
● Error Handling: Provides user feedback for invalid inputs or unexpected errors.
4. Extensibility
● Potential enhancements include:
o Real-Time Exchange Rates: Integrating an API for up-to-date conversion values.
o Graphical User Interface (GUI): Transitioning to a GUI for improved user experience.
o Historical Data Tracking: Allowing users to view past exchange rates.
5. Testing and Documentation
● Testing: Ensures functionality, usability, and reliability of the application.
● Documentation: Includes a user manual and technical documentation to support users and
developers.
The
4. Results
Currency Converter application effectively meets its goal of enabling users to convert
amounts between different currencies. The key results of the project are as follows:
1. Functional Testing
● Currency Selection: Users can easily select from a predefined list of currencies (USD,
EUR, GBP, INR). The application correctly identifies valid currency codes and provides
feedback for invalid entries.
● Amount Conversion: The application accurately converts the input amount based on the
selected currencies using the formula:
Converted Amount=Amount×(Target RateSource Rate)\text{Converted Amount} =
\text{Amount} \times \left( \frac{\text{Target Rate}}{\text{Source Rate}}
\right)Converted Amount=Amount×(Source RateTarget Rate )
2. User Experience
● The console-based interface is user-friendly, allowing for smooth navigation and
interaction.
● Clear prompts and error messages guide users, enhancing usability and preventing
confusion.
3. Performance and Reliability
● The application performs efficiently, providing quick conversion results without
noticeable delays.
● Robust error handling prevents crashes and ensures users are prompted to correct invalid
inputs.
4. Extensibility
● The modular design allows for easy additions, such as:
o Real-Time Exchange Rates: Future integration with APIs for up-to-date rates.
o Graphical User Interface (GUI): Potential transition to a more visually
appealing interface.
5. Conclusion