Advertisement
FedeCuci

Untitled

Nov 16th, 2020
846
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.87 KB | None | 0 0
  1. package ss.week1;
  2. import textio.TextIO;
  3. import java.util.HashMap;
  4. import java.util.concurrent.atomic.LongAccumulator;
  5.  
  6. public class ThreeWayLamp {
  7.  
  8.     enum LampState { OFF, LOW, MEDIUM, HIGH } // Store state of lamp with constant values
  9.     public static void main(String[] args) {
  10.        
  11.         // Create hashmap for NEXT command
  12.         HashMap<LampState, LampState> stateOrder = new HashMap<LampState, LampState>();
  13.         stateOrder.put(LampState.OFF, LampState.LOW);
  14.         stateOrder.put(LampState.LOW, LampState.MEDIUM);
  15.         stateOrder.put(LampState.MEDIUM, LampState.HIGH);
  16.         stateOrder.put(LampState.HIGH, LampState.OFF);
  17.         LampState stateOfLamp = LampState.OFF; // Initialize state of lamp as OFF
  18.  
  19.         String lightState = "OFF";
  20.         Boolean exit  = false;
  21.         while (!exit) {
  22.             System.out.println("Command:");
  23.             String input = TextIO.getln();
  24.             switch (input) {
  25.                 case "OFF":
  26.                     System.out.println("Light turned OFF");
  27.                     stateOfLamp = LampState.OFF;
  28.                     break;
  29.                 case "LOW":
  30.                     System.out.println("Light set to LOW");
  31.                     stateOfLamp = LampState.LOW;
  32.                     break;
  33.                 case "MEDIUM":
  34.                     System.out.println("Light set to MEDIUM");
  35.                     stateOfLamp = LampState.MEDIUM;
  36.                     break;
  37.                 case "HIGH":
  38.                     System.out.println("Light set to HIGH");
  39.                     stateOfLamp = LampState.HIGH;
  40.                     break;
  41.                 case "STATE":
  42.                     System.out.println(stateOfLamp);
  43.                     break;
  44.                 case "NEXT":
  45.                     stateOfLamp = stateOrder.get(stateOfLamp);
  46.                     System.out.println("Light set to " + stateOfLamp);
  47.                     break;
  48.                 case "HELP":
  49.                     System.out.println("HELP MENU:\n" +
  50.                             "OFF - switch the light off\n" +
  51.                             "LOW - switch to low setting\n" +
  52.                             "MEDIUM - switch the light to medium setting\n" +
  53.                             "HIGH - switch the light to high setting\n" +
  54.                             "NEXT - switch the light to the next setting: OFF -> LOW -> MEDIUM -> HIGH -> OFF\n" +
  55.                             "STATE - show the current state of the light\n" +
  56.                             "HELP - show this help menu\n" +
  57.                             "EXIT - exit program");
  58.                     break;
  59.                 case "EXIT":
  60.                     exit = true;
  61.                     break;
  62.                 default:
  63.                     System.out.println("Not an option");
  64.             }
  65.         }
  66.         System.out.println("Exiting Program");
  67.         System.exit(0);
  68.     }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement