中国教育在线 中国教育网 加入收藏 设为首页

JDK5 交通灯模拟控制系统

http://itpx.eol.cn  来源:  作者:中国IT实验室收集整理  2011-05-30    

  本系统由 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;

  }

  }

  LampController.java

  package com.isoftstone.interview.traffic;

  import java.util.concurrent.Executors;

  import java.util.concurrent.TimeUnit;

  public class LampController {

  private Lamp currentLamp;

  public LampController(){

  currentLamp = Lamp.S2N;

  currentLamp.light();

推荐给好友    我要收藏    我要纠错    分享到

免责声明:

① 凡本站注明“稿件来源:中国教育在线”的所有文字、图片和音视频稿件,版权均属本网所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发表。已经本站协议授权的媒体、网站,在下载使用时必须注明“稿件来源:中国教育在线”,违者本站将依法追究责任。

② 本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。

内容推荐
eol.cn简介 | 联系方式 | 网站声明 | 京ICP证140769号 | 京ICP备12045350号 | 京公网安备 11010802020236号
版权所有 北京中教双元科技集团有限公司 EOL Corporation
Mail to: webmaster@eol.cn