A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Alexander 中级黑马   /  2014-3-18 18:47  /  1172 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

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,这样设定的理由是什么?

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

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

2 个回复

倒序浏览
关于那个红绿灯,我记得老师是说 直行 和左转的车辆需要判断红绿灯 , 而右转车辆不需要判断所以假定右转车辆一直是绿灯,我是这么理解的如果当前是E2W,也就是图中的横向路段是绿灯,下次亮的灯next就是E2S,也就是竖向路段的灯要变绿灯,左转应该和这个竖向路段灯相同吧。
第3行的opposite,next,都是null,因为这些都是右转车辆假定是常绿灯,当前亮的灯和下次亮的灯和它没有关系,所以是null,它出现了直接就可以右转,不需要去判断灯。
再去多看几遍视频吧。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 王竞 于 2014-3-19 14:40 编辑

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

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

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马