黑马程序员技术交流社区

标题: 交通管理系统的中车的流动问题 [打印本页]

作者: Alexander    时间: 2014-3-18 18:47
标题: 交通管理系统的中车的流动问题
这几天在看交通管理系统,一直被一个问题迷惑,就是车的行驶方,我没有学过驾驶,平时也不太注意十字路口的交通情况,还望懂得人帮我分析下:

S2N("N2S", "S2W", false), S2W("N2E", "E2W", false), E2W("W2E", "E2S", false), E2S("W2N", "S2N", false),
N2S(null, null, false), N2E(null, null, false), W2E(null, null, false), W2N(null, null, false),
S2E(null, null, true), E2N(null, null, true), N2W(null, null, true), W2S(null, null, true);
       
private boolean lighted;

private String opposite;

private String next;



这里的12个枚举表示车行驶的12中方向,S,N,W,E,分别表示南,北,西,东,枚举里的参数,第一个表示opposite,第二个表示next,第三个表示lighted
lighted=true表示的是绿灯,为false表示红灯,next表示下一个要亮的灯,这opposite我就有点不明白了,是行驶放向相反的意思?

还有就是:打个比方,如果当前是E2W,为什么下次亮的灯next就是E2S,这里面有什么规律可循吗?

还有就是,第2,3行的opposite,next,都是null,这样设定的理由是什么?

问题比较多,麻烦大家帮着回答

作者: a569609054    时间: 2014-3-19 13:17
关于那个红绿灯,我记得老师是说 直行 和左转的车辆需要判断红绿灯 , 而右转车辆不需要判断所以假定右转车辆一直是绿灯,我是这么理解的如果当前是E2W,也就是图中的横向路段是绿灯,下次亮的灯next就是E2S,也就是竖向路段的灯要变绿灯,左转应该和这个竖向路段灯相同吧。
第3行的opposite,next,都是null,因为这些都是右转车辆假定是常绿灯,当前亮的灯和下次亮的灯和它没有关系,所以是null,它出现了直接就可以右转,不需要去判断灯。
再去多看几遍视频吧。
作者: 王竞    时间: 2014-3-19 14:38
本帖最后由 王竞 于 2014-3-19 14:40 编辑

一个路口的交通灯,先是直行灯亮一段时间,最后几秒才是左转灯亮,而右转灯则是常量的,E2W,为什么下次亮的灯next就是E2S?    这里E2W,e代表东方,w代表西方,E2W也就是直行,同理的E2S就是表示左转,         

最后既然右转的灯一直都是常量的,那么我们就没有下一次变红变绿的这个说法,所以就是为null,只需要他亮的状态为true或者false就行了啊





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2