搜索
简帛阁>技术文章>黑马程序员交通灯管理系统学习日记

黑马程序员交通灯管理系统学习日记

 ----------------------android培训、java培训、期待与您交流! ----------------------

系统要求:
异步随机生成按照各个路线行驶的车辆。
信号灯忽略黄灯,只考虑红灯和绿灯。
应考虑左转车辆控制信号灯,右转车辆不受信号灯控制。
具体信号灯控制逻辑与现实生活中普通交通灯控制逻辑相同,不考虑特殊情况下的控制逻辑。
每辆车通过路口时间为1秒(提示:可通过
线程Sleep的方式模拟)。
随机生成车辆时间间隔以及红绿灯交换时间间隔自定,可以设置。

系统设计分析:
总共要设计4个类
1,设计一个Road类来表示路线,每个Road对象代表一条路线,总共有12条路线,即系统中总共要产生12个Road实例对象。每条路线上随机增加新的车辆,增加到一个集合中保存。每条路线每隔一秒都会检查控制本路线的灯是否为绿,是则将本路线保存车的集合中的第一辆车移除,即表示车穿过了路口。每个Road对象都有一个name成员变量来代表方向,有一个vehicles成员变量来代表方向上的车辆集合。在Road对象的构造方法中启动一个线程每隔一个随机的时间向vehicles集合中增加一辆车(用一个“路线名_id”形式的字符串进行表示)。在Road对象的构造方法中启动一个定时器,每隔一秒检查该方向上的灯是否为绿,是则打印车辆集合和将集合中的第一辆车移除掉。
2,设计一个Lamp类来表示一个交通灯,每个交通灯都维护一个状态:亮或不亮,每个交通灯要有变亮和变黑的方法,并且能返回自己的亮黑状态。系统中有12个方向上的灯,在程序的其他地方要根据灯的名称就可以获得对应的灯的实例对象,综合这些因素,将Lamp类用java5中的枚举形式定义更为简单。每个Lamp对象中的亮黑状态用lighted变量表示,选用S2N、S2W、E2W、E2N这四个方向上的Lamp对象依次轮询变亮,Lamp对象中还要有一个oppositeLampName变量来表示它们相反方向的灯,再用一个nextLampName变量来表示此灯变亮后的下一个变亮的灯。这三个变量用构造方法的形式进行赋值,因为枚举元素必须在定义之后引用,所以无法再构造方法中彼此相互引用,所以,相反方向和下一个方向的灯用字符串形式表示。 增加让Lamp变亮和变黑的方法:light和blackOut,对于S2N、S2W、E2W、E2N这四个方向上的Lamp对象,这两个方法内部要让相反方向的灯随之变亮和变黑,blackOut方法还要让下一个灯变亮。除了S2N、S2W、E2W、E2N这四个方向上的Lamp对象之外,其他方向上的Lamp对象的nextLampName和oppositeLampName属性设置为null即可,并且S2N、S2W、E2W、E2N这四个方向上的Lamp对象的nextLampName和oppositeLampName属性必须设置为null,以便防止light和blackOut进入死循环。3,设计一个LampControlMainClass类ler类,它定时让当前的绿灯变红。整个系统中只能有一套交通灯控制系统,所以,LampController类最好是设计成单例。LampController构造方法中要设定第一个为绿的灯。LampController对象的start方法中将当前灯变绿,然后启动一个定时器,每隔10秒将当前灯变红和将下一个灯变绿。
4,设计一个MainClass类启动系统,用for循环创建出代表12条路线的对象。接着再获得LampController对象并调用其start方法。

----------------------android培训、java培训、期待与您交流! ----------------------

android培训、java培训、期待与您交流!系统要求:异步随机生成按照各个路线行驶的车辆。信号灯忽略黄灯,只考虑红灯和绿灯。应考虑左转车辆控制信号灯,右转车辆不受信号灯控制。具体信号灯控制逻辑与现
ASPNet+Unity开发、Net培训、期待与您交流!交通灯管理系统分析需求对象:车辆(异步随即生成车辆,线路不通)信号灯只考虑红灯和绿灯左转车辆考虑信号灯,右转车辆不被信号灯控制。南北车辆与东西
android培训、java培训、java学习型技术博客、期待与您交流!交通灯管理系统需求:模拟实现十字路口的交通灯管理系统逻辑,具体需求如下:异步随机生成按照各个路线行驶的车辆。例如:由南向而来去
黑马程序员学习日记黑马程序员_学习日记_交通灯管理系统android培训、java培训、期待与您交流!交通灯管理系统模拟实现十字路口的交通灯管理系统逻辑,具体需求如下:异步随机生成按照各个路线行驶的
Java培训、Android培训、iOS培训、Net培训、期待与您交流!交通灯管理系统模拟实现十字路口的交通灯管理系统逻辑,具体需求如下:异步随机生成按照各个路线行驶的车辆。例如:由南向而来去往北向
android培训、java培训、期待与您交流!交通灯管理系统模拟实现十字路口的交通灯管理系统逻辑,具体需求如下:异步随机生成按照各个路线行驶的车辆。例如:由南向而来去往北向的车辆直行车辆由西向而
ndroid培训、java培训、期待与您交流!2011年8月7日星期日终于进入项目视频的学习了,有点小小的兴奋,不知道老师又会给我带来什么样的惊喜呢,带着好奇与兴奋进入了交通灯学习。老师一开始并没
android培训、java培训、java学习型技术博客、期待与您交流!遇到问题不要偷懒,画图有助于理解问题车辆的行驶顺序,先是直线,比如南向北,然后是左拐外南向西,其他三个方向类似除去不受控制的灯,
android培训java培训期待与您交流!连着几天长时间的学习让我感觉很疲惫,昨天晚上又很悲催地发烧了,虽然烧的不是很严重,但是头疼得特别厉害。为了赶赶进度,早上还是把交通灯系统给看完了。在前面基础
ttp://wwwitheimacomandroid培训http://wwwitheimacomjava培训、期待与您交流!/*交通灯管理系统一,需求分析:1,需求:异步随机生成按照各个线路行驶的车