枚举红绿灯
public enum TrafficLight { Red(5) { public TrafficLight getNextTrafficLight() { return TrafficLight.Green; } }, Yellow(1) { public TrafficLight getNextTrafficLight() { return TrafficLight.Red; } }, Green(4) { public TrafficLight getNextTrafficLight() { return TrafficLight.Yellow; } }; private int time; TrafficLight(int time) { this.time = time; } public int getTime() { return this.time; } public TrafficLight getNextTrafficLight() { return this.getNextTrafficLight(); } }
public String hello() { int count =1; TrafficLight trafficLight = TrafficLight.Green; while (count < 100) { System.out.println(trafficLight.name()); for (int i = 1; i <= trafficLight.getTime(); i++) { System.out.println(i); try { Thread.sleep(1 * 1000); } catch (InterruptedException e) { throw new RuntimeException(e); } } trafficLight = trafficLight.getNextTrafficLight(); } return "Hello, World!"; }