枚举红绿灯

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

 

posted @ 2022-12-02 10:54  江境纣州  阅读(38)  评论(0编辑  收藏  举报