JDK5交通灯模拟控制系统

2012-11-12

    本系统由 Lamp.java , LampController.java , Road.java 和MainClass.java组成.
    Lamp.java :
    package com.isoftstone.interview.traffic;
    public enum Lamp {
    //前进                              左拐                                  右拐
    S2N("N2S","S2W",false),          S2W("N2E","E2W",false),       S2E(null,null,true),
    E2W("W2E","E2S",false),         E2S("W2N","S2N",false),        E2N(null,null,true),
    N2S(null,null,false) ,          N2E(null,null,false),         N2W(null,null,true),
    W2E(null,null,false) ,         W2N(null,null,false),        W2S(null,null,true);
    String opposite;
    String next;
    boolean lighted;
    //构造函数:初始化当前灯
    private Lamp(String opposite,String next,boolean lighted){
    this.opposite = opposite;
    this.next = next;
    this.lighted = lighted;
    }
    //返回当前灯的状态
    public boolean isLighted(){return lighted;}
    public void light(){
    this.lighted = true;
    if(opposite != null){
    Lamp.valueOf(opposite).light();
    }
    System.out.println(name() + "is Green. Soon there will be cars crossed the street at six deractions.");
    }
    public Lamp blackout(){
    //关闭当前灯 : 设为false
    this.lighted = false;
    Lamp nextLamp = null;
    if(opposite != null){Lamp.valueOf(opposite).blackout();}
    //检查下一个灯并启动它
    if(next != null){
    nextLamp = Lamp.valueOf(next);
    System.out.println(name() + " to the " + next + " 's light is Green.");
    nextLamp.light();
    }
    return nextLamp;
    }
    }

   考试大温馨提示:本内容来源于网络,仅代表作者个人观点,与本站立场无关,仅供您学习交流使用。其中可能有部分文章经过多次转载而造成文章内容缺失、错误或文章作者不详等问题,请您谅解。如有侵犯您的权利,请联系我们,本站会立即予以处理。

    编辑特别推荐:

    Java中基本数据类型与应用

    Servlet中的八大Listener

    40个轻量级JavaScript库介绍

分享到:
0
相关阅读
友情链接
© 2018 我考网 http://www.woexam.com 中国互联网举报中心 湘ICP备18023104号 京公网安备 11010802020116号
违法和不良信息举报:9447029@qq.com