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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 何俊森 中级黑马   /  2013-6-2 15:14  /  1683 人查看  /  5 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 何俊森 于 2013-6-2 21:07 编辑

张老师的那个交通灯系统一直不是很明白E2W("W2E", "E2S", false), E2S("W2N", "S2N", false), S2N("N2S", "S2W", false), S2W("N2E", "E2W", false),
W2E(null, null, false), W2N(null, null, false), N2S(null, null, false), N2E(null, null, false),
E2N(null, null, true), N2W(null, null, true), W2S(null, null, true), S2E(null, null, true);
为什么E2W下一个灯是W2E,W2E下一个灯是E2S...E2W,还有不考虑黄灯的话,不是只有8个灯吗?



评分

参与人数 1技术分 +2 黑马币 +20 收起 理由
袁梦希 + 2 + 20 淡定

查看全部评分

5 个回复

倒序浏览
本帖最后由 袁梦希 于 2013-6-2 15:52 编辑

首先你这个问题就提错了,E2W对应的灯是W2E,E2W的下一个灯是E2S。
我来给你解释一下枚举中的对象吧:
某灯("对应的灯","下一个灯"," 先暂时让灯是黑的")   
这是一个灯的对象。

首先我们分析,不说什么E呀、W呀、S呀,说实话,我看这些字母我也反应不过来,好好的程序非要用英文编写,擦了个DJ。
因为交通灯都是有对应的灯,对应的灯都是同时亮,同时灭的,比如,南和北的交通灯,两边的司机都应该同时看到灯变红或变绿,
所以八个方向上只考虑了四个灯,其他灯都是对应的,那么这四个灯都是什么呢?

我们可以对这四个灯进行分析:
我们先从东边分析,从东边过来的车有两条路线可以走,一个是左转一个是直行,在这里呢不考虑右转弯,因为右转弯是一直可以通行的。也不用纠结这问题,这是交通规定的。
东到西的对应的灯肯定就是西到东,东到西的下一个灯肯定是左转弯的,就是所谓的东到南,那么东到南的方向肯定有对应的灯,东到南对应的灯是西到北,可以用大脑想想,不要考虑老张那些字母。
我曾经过马路,认为交通灯就直行的方向才有灯呢,结果那天我差点被车撞了,我就看那车从我后面的方向过来了。
所以按照我的思路,直接就能把南到北,和南左转的方向,也就是南到西方向的灯推出来,自己推吧。

加油楼主

评分

参与人数 2技术分 +2 黑马币 +20 收起 理由
曹睿翔 + 2 很通俗,不错
何俊森 + 20 很给力! 回答很仔细

查看全部评分

回复 使用道具 举报
然后你根据我的方法,对照着那些英文都一一添加好就可以了,希望可以帮到你,如果不会继续追问。
回复 使用道具 举报
字母是对方向的简写:南S(South),北N(North),东E(East),西W(West),S2N就是南到北的灯,2表示to。
你说的八个灯是少了四个转弯的灯,张老师把所有的情况都划出来了,包括右转弯。因为这个是文字模拟的,所以需要使用提示文字,右转弯当然也需要提示出来了,比如:N2E,,S2W等

评分

参与人数 2技术分 +1 黑马币 +10 收起 理由
袁梦希 + 1 很给力!
何俊森 + 10 赞一个!

查看全部评分

回复 使用道具 举报
唉  我就没分了
回复 使用道具 举报
袁梦希 发表于 2013-6-3 11:50
唉  我就没分了

{:3_46:}什么没分?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马