This project is a Polynomial Calculator implemented in Java, featuring an interactive GUI built with Java Swing. The application enables users to perform various algebraic operations on polynomials such as addition, subtraction, multiplication, division, derivation, and integration.
This project was developed during the Object-Oriented Programming (POO) course. The graphical interface (GUI) was created as the final project for the course exam.
- Polynomial parsing and display
- Support for:
- Addition
- Subtraction
- Multiplication
- Division (with quotient and remainder)
- Derivation
- Indefinite Integration
- Interactive GUI with Java Swing components
- Modular and extensible architecture
- Input validation and error handling
- Java
- Java Swing
polinomi/
βββ InputPolinomio.java # Handles polynomial input parsing
βββ Monomio.java # Defines monomial structure
βββ Polinomio.java # Interface or base class for polynomials
βββ PolinomioAL.java # ArrayList implementation of polynomial
βββ PolinomioAstratto.java # Abstract class for shared behavior
βββ PolinomioGUI.java # Main GUI class using Swing
βββ PolinomioLC.java # Linked list implementation
βββ PolinomioLL.java # Another linked list-based polynomial
βββ PolinomioMap.java # Map-based polynomial implementation
βββ PolinomioSet.java # Set-based polynomial implementation
-
Clone the repository:
git clone https://github.com/yourusername/polynomial-calculator.git cd polynomial-calculator -
Compile the Java files:
javac polinomi/*.java -
Run the application:
java polinomi.PolinomioGUI
Make sure Java is installed and configured in your environment (preferably Java 17 or newer).
This project was developed as part of the Object-Oriented Programming (POO) course. The GUI and polynomial engine demonstrate the application of principles such as inheritance, abstraction, and modularity, culminating in this graphical calculator as the final assessment.
This project is distributed under the MIT License. You are free to use, modify, and distribute it for educational or personal use.
Developed with β€οΈ using Java and Swing.