Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 45 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,47 @@
### JavaFX Calculator
# JavaFX Calculator

The implementation of a given JavaFX project. It simulates a calculator with four binary operations, i.e. addition, subtraction, multiplication and division, and two unary operations, i.e. the square root and negation of an input number.
A calculator built with JavaFX 17 and Maven (University of Kent, CO871 Assignment 2). Implements four binary operations and two unary operations with a clean FXML-driven UI.

![Image of Calculator](/Calculator.png)
![Screenshot of calculator UI](Calculator.png)

## Operations

| Type | Operations |
|------|-----------|
| Binary | Addition, subtraction, multiplication, division |
| Unary | Square root, negation |

## Requirements

- Java 17
- Maven 3.6 or later (or use the included Maven Wrapper)

## Build and run

```bash
mvn clean javafx:run
```

Using the Maven Wrapper:

```bash
./mvnw clean javafx:run # macOS / Linux
mvnw.cmd clean javafx:run # Windows
```

## Tests

JUnit Jupiter 5 tests exercise all operations and edge cases:

```bash
mvn test
```

## Tech stack

| Component | Version |
|-----------|---------|
| Java | 17 |
| JavaFX (controls + FXML) | 17.0.2 |
| JUnit Jupiter | 5.8.2 |
| Build tool | Maven |