Skip to content

The objective of this project is to obtain basic skills in Java and OOPs principles by building a subset of features seen in calculators.

Notifications You must be signed in to change notification settings

govindnathsng/QCALC_V2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QCalc

Java JUnit VSCode

Date: April 2023

📘 Overview

QCalc is a Java-based calculator application aimed at reinforcing Java programming and OOP principles. This project covers the implementation of simple and scientific calculator features while handling exceptions and debugging issues. It’s built and tested with a focus on Java, OOPs Principles, and Unit Testing.

Throughout this project, we:

  • Built calculator features following OOP principles.
  • Handled exceptions to manage invalid data.
  • Debugged and fixed issues in newly introduced calculator features.
  • Utilized VSCode IDE to implement and test the code.

🛠️ Project Structure

1. Implement Simple Calculator

Scope of Work:

  • Created a Java Gradle Project using Spring Initializer Extension in VSCode IDE.
  • Developed basic arithmetic operations with two numbers and verified functionalities using unit tests.
  • Added floating point arithmetic operations using method overloading.

Skills Used: Java, Unit Testing, JUnit

2. Identify and Handle Exceptions

Scope of Work:

  • Managed exceptions for invalid data entries.
  • Validated exceptions through unit tests to ensure error handling accuracy.

Skills Used: Java, Unit Testing, JUnit, Exception Handling

3. Implement Scientific Calculator

Scope of Work:

  • Extended existing classes to add scientific calculator functionalities.
  • Reused and enhanced pre-existing features to support advanced calculations.

Skills Used: Java

4. Debug and Fix Issues

Scope of Work:

  • Resolved compilation errors related to syntax/import issues.
  • Corrected logical issues within the code and refined behavior for invalid data inputs.
  • Implemented unit tests for edge cases initially overlooked.

Skills Used: Java, Unit Testing, JUnit, Exception Handling

🚀 Getting Started

  1. Clone the Repository
    git clone https://github.com/govindnathsng/QCalc.git
    cd QCalc
    
     Build the Project
    
     bash
    

./gradlew build

Run the Tests

bash

./gradlew test

⚙️ Technologies & Tools

Programming Language: Java
Testing Framework: JUnit
IDE: VSCode
Build Tool: Gradle

📈 Features

Basic Calculations: Addition, Subtraction, Multiplication, Division
Scientific Calculations: Extended operations like power, square root, etc.
Error Handling: Graceful handling of invalid inputs
Extensive Testing: Unit tests to cover basic functionality and edge cases

🤝 Contributing

We welcome contributions! Please fork the repository and create a pull request to add new features or improve the existing code. 📄 License

This project is licensed under the Apache License 2.0. 📞 Contact

For questions or feedback, feel free to reach out:

GitHub: govindnathsng
Email: govindnathsng[at]gmail[dot]com

About

The objective of this project is to obtain basic skills in Java and OOPs principles by building a subset of features seen in calculators.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages