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!";
}