Tuesday, November 4, 2008

Hotel

class Elevator {
boolean running = true;
static boolean powered = true;

void shutDown() {
running = false;
}

static void togglePower() {
powered = !powered;
}
}

class FrontDesk {
private final int EVENING = 8;
private final int CLOSING = 10;
private final int OPENING = 6;
Elevator NorthElevator, SouthElevator;
FrontDesk() {
NorthElevator = new Elevator();
SouthElevator = new Elevator();
}
void maintenance(int time) {
if (time == EVENING)
NorthElevator.shutDown();
else if ( (time == CLOSING) || (time == OPENING) )
Elevator.togglePower();
}
void displayStatus() {
// Code is very inefficient, but serves a purpose.
System.out.print("North Elevator is ");
if (!(NorthElevator.running ))
System.out.print("not ");
System.out.println("running.");
System.out.print("South Elevator is ");
if (!(SouthElevator.running ))
System.out.print(" not ");
System.out.println("running.");
System.out.print("The elevators are ");
if (!(Elevator.powered ))
System.out.print("not ");
System.out.println("powered.");
}

public class Hotel {
public static void main(String args[]) {
FrontDesk lobby;
lobby = new FrontDesk();
System.out.println("It's 7:00. Time to check the elevators.");
lobby.maintenance(7);
lobby.displayStatus();
System.out.println();
System.out.println("It's 8:00. Time to check the elevators.");
lobby.maintenance(8);
lobby.displayStatus();
System.out.println();
System.out.println("It's 10:00. Time to check the elevators.");
lobby.maintenance(10);
lobby.displayStatus();
}
}