From aa582f9a538a03812f48b8b0f484a7ba8dd79f8f Mon Sep 17 00:00:00 2001 From: Nano Date: Fri, 8 Aug 2025 13:09:42 -0700 Subject: [PATCH] Complete java evaluation task --- tasks/java-evaluation/Elevator.java | 22 +++++++++++ tasks/java-evaluation/ElevatorController.java | 39 +++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 tasks/java-evaluation/Elevator.java create mode 100644 tasks/java-evaluation/ElevatorController.java diff --git a/tasks/java-evaluation/Elevator.java b/tasks/java-evaluation/Elevator.java new file mode 100644 index 0000000..078de30 --- /dev/null +++ b/tasks/java-evaluation/Elevator.java @@ -0,0 +1,22 @@ +public class Elevator { + int floor; + + public Elevator(int floor) { + this.floor = floor; + System.out.println("Elevator instantiated at floor " + this.floor); + } + + public void moveUp() { + this.floor++; + System.out.println("Moving up... now at floor " + this.floor); + } + + public void moveDown() { + this.floor--; + System.out.println("Moving down... now at floor " + this.floor); + } + + public int getCurrentFloor() { + return this.floor; + } +} diff --git a/tasks/java-evaluation/ElevatorController.java b/tasks/java-evaluation/ElevatorController.java new file mode 100644 index 0000000..f8c77e8 --- /dev/null +++ b/tasks/java-evaluation/ElevatorController.java @@ -0,0 +1,39 @@ +public class ElevatorController { + Elevator elevator; + int minFloor; + int maxFloor; + + public ElevatorController(Elevator elevator, int minFloor, int maxFloor) { + this.elevator = elevator; + this.minFloor = minFloor; + this.maxFloor = maxFloor; + } + + public void reset() { + this.elevator.floor = 1; + } + + public void goToFloor(int target) { + if (target < minFloor || target > maxFloor) { + System.out.println("Floor " + target + " is not a valid floor"); + return; + } + + if (elevator.floor == target) { + System.out.println("Already at floor " + target); + return; + } + + if (elevator.floor < target) { + while (elevator.floor < target) { + elevator.moveUp(); + } + } else { + while (elevator.floor > target) { + elevator.moveDown(); + } + } + + System.out.println("Arrived at floor " + target); + } +}