//package PS2; import javax.swing.*; public class ElevatorTest { public static void main(String[] args) { String text= JOptionPane.showInputDialog("Enter max floor served by elevator"); int elevatorFloor= Integer.parseInt(text); Elevator south= new Elevator(elevatorFloor); while (true) { text= JOptionPane.showInputDialog("Enter floor to request elevator (-1 to quit)"); int elevatorRequest= Integer.parseInt(text); if (elevatorRequest == -1) break; else south.request(elevatorRequest); } System.exit(0); } } class Elevator { private int curFloor; private int maxFloor; private int minFloor; public Elevator(int maxF, int minF, int curF) { maxFloor= maxF; minFloor= minF; curFloor= curF; } public Elevator(int maxF, int minF) { maxFloor= maxF; minFloor= minF; curFloor= minF; // Or this(maxF, minF, minF); } public Elevator(int maxF) { maxFloor= maxF; minFloor= 1; curFloor= 1; // Or this(maxF, 1, 1); } public void request(int f) { if (f < minFloor || f > maxFloor || f == curFloor) ; // Do nothing else if (f < curFloor) { // Elevator must descend System.out.println("At floor: " + curFloor); while (f < curFloor) { curFloor--; System.out.println(" Going down past floor: " + curFloor); } System.out.println("Stop at floor: " + f); } else { // Elevator must ascend System.out.println("At floor: " + curFloor); while (f > curFloor) { curFloor++; System.out.println(" Going up past floor: " + curFloor); } System.out.println("Stop at floor: " + f); } } }