关于JDK5交通灯模拟控制系统
为了方便广大程序猿交流和学习,下面小编准备了关于JDK5交通灯模拟控制系统,欢迎大家参考!
本系统由 , , 和组成。
:
package fic;
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){
site = opposite;
= next;
ted = lighted;
}
//返回当前灯的状态
public boolean isLighted(){return lighted;}
public void light(){
ted = true;
if(opposite != null){
eOf(opposite)。light();
}
tln(name() + "is Green. Soon there will be cars crossed the street at six deractions.");
}
public Lamp blackout(){
//关闭当前灯 : 设为false
ted = false;
Lamp nextLamp = null;
if(opposite != null){eOf(opposite)。blackout();}
//检查下一个灯并启动它
if(next != null){
nextLamp = eOf(next);
tln(name() + " to the " + next + " 's light is Green.");
t();
}
return nextLamp;
}
}
package fic;
import utors;
import Unit;
public class LampController {
private Lamp currentLamp;
public LampController(){
currentLamp = Lamp.S2N;
t();
//启动一个线程 : 每十秒将当前灯设置为红
cheduledThreadPool(1)。scheduleAtFixedRate(
new Runnable() {
public void run() {
currentLamp = kout();
}
},
10,
10,
NDS
);
}
}
package fic;
import ;
import yList;
import om;
import utors;
import Unit;
public class Road {
private String name;
private List
public Road(String name){
= name;
//模拟车辆不断随机上路的过程
ingleThreadExecutor()。execute(new Runnable() {
public void run() {
for(int i = 0 ; i < 1000 ;i++){
try {
p((new Random()。nextInt(10) + 1) * 1000);
} catch (InterruptedException e) {
tStackTrace();
}
( + "_" + i);
}
}
});
//每隔一秒检查对应的'灯是否为绿,如果是 ,则放行一辆车,具体操作为从vehicles集合中移除第一辆车。
cheduledThreadPool(1)。scheduleAtFixedRate(
new Runnable() {
public void run() {
if(() > 0){
if(eOf()。isLighted()){
tln(ve(0) + " is traversing");
}
}
}
},
1,
1,
NDS);
}
}
最后在Main方法中启动系统:public static void main(String[] args) {
String[] deractions = {"S2N","S2W","E2W","E2S","N2S","N2E","W2E","W2N","S2E","E2N","N2W","W2S"};
//模拟十二条方向的路线
for(int i = 0 ; i < th; i++){
new Road(deractions[i]);
}
//启动交通灯控制器
new LampController();
}
相關文章
-
EDA的交通灯控制系统设计
实现路口 交通灯 系统的 控制 方法很多,可以用标准逻辑器件、可编程序控制器PLC、单片机等方案来实现。但是这些控制方法的功能修改及调试都需要硬件电路的支持,在一定程度上增加了功能修改及系统调试的困难。因此,在设 -
交通灯控制系统设计具体步骤
设计交通灯需要经过不断的测试,设计交通灯的时候需要注意演示过程中出现的问题。本站小编给大家整理了交通灯控制系统设计具体步骤,希望你们喜欢! 交通灯控制系统设计随着自动化控制技术和微电子技术的迅猛发展,PLC作 -
Java语言中SDK/JDK/JRE和JVM之间的关系
Java语言是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。简单点说,Java语言是一种面向对象的编程语言。自Java语言出现20年来,一直在软件开发中处于领 -
电子监控系统及红外线布防系统监控管理制度
一. 职责1. 物业管理处警卫组专人负责监控;2. 党政办网络管理员定期对电子监控系统和红外布防系统进行检查,对出现的故障及时维修。二. 电子监控系统1. 电子监控系统由物业管理处警卫组安排专人负责看护及监控,监控员不得 -
多制式数控机床集群控制与管理系统
面向中小企业由多种控制系统数控机床集群构成的混合加工环境的车间,建立基于《数控机床可重构DNC通讯网络》软件的车间现场数据综合交换平台,并采用具有一定自主规划和管理功能的《车间生产管理系统》软件,可对目前国内 -
监控系统系统技术资料管理制度
一、安全监控系统操作人员必须经省、市煤炭信息系统中心培训合格后,持证上岗。不可随意改变操作系统,防止文件的删除或丢失,保证瓦斯监控软件的正常运行。二、矿井安全监控系统地面中心机房必须每天24小时值班。三、值班 -
基于GSM短信息通信方式的路灯无线监控系统理工论文
新入职培训个人总结 篇1天涯海角一线间,梦萦铁塔信相连;蜀地赤子聚蓉城,厚积薄发敢争先。——记铁塔校招培训时光荏苒,白驹过隙,为期5天的新员工入职培训不知不觉间已接近尾声了。培训时间虽短暂,但培训内容丰富实用,形式多 -
EAM系统与维修成本控制的关系
成本控制,是企业根据一定时期预先建立的成本管理目标,由成本控制主体在其职权范围内,在生产耗费发生以前和成本控制过程中,对各种影响成本的因素和条件采取的一系列预防和调节措施,以保证成本管理目标实现的管理行为。那么 -
SCADA系统测控系统实现的注意事项
1、SCADA系统的特点SCADA(SupervisoryControlandDataAcquisition)系统即监视控制与数据采集系统,是以计算机为基础的监测控制与调度管理自动化系统,能实现远程数据采集、设备控制、测量、参数调节以及信号报警等各项功能, -
通风瓦斯监控系统管理与维修制度
一、明确监测、监控管理售货员的职责:1、瓦斯监测监控系统的日常管理工作,由通风人负责,监控值班室必须全天24小时有人值班,并随时观察地面站瓦斯变化情况,发现问题,立即汇报并及时处理,不得随意关停监控系统的电源。2、井下