黑马程序员 面试题破解思路

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

交通灯系统:

首先确定交通灯这个系统中一共有多少条线路,东南西北四个方向两两配对的方式有6种,所以包括逆向一共有12条线路,可以看成系统中的12个对象,每条线路是一个ArrayList对象,汽车在线路上行走,所以ArrayList需要添加汽车成员。

然后确定交通灯,编写一个交通灯的类,如果一条线路的灯为绿灯,那么这条线路的逆向也是绿灯,当灯变为红灯时,逆向也是红灯,下一条线路变为绿灯。所以需要有灯的状态,还有相逆的灯状态,还有下一条的状态,根据交通规则,右转永远是绿灯。通过构造方法传递三个参数,有四条线路的灯状态永远是绿灯,由南向东,由东向北,由北向西,由西向南。

还有编写一个交通灯控制类,通过任务调度线程实现每10秒或者每20秒变换一次灯的状态,当某条线路上的灯变绿时,这个ArrayList对象随机的1到2秒移除一个汽车对象,当某条线路上的灯变红时,它下一条线路将变绿。判断下一条线路的依据是按顺时针转,如果当前由南向北绿灯,当变成红灯时,由南向西变成绿灯了,其它线路的灯不变。

 银行业务系统:

银行业务有号码管理机器,普通号码服务,vip号码服务,快速号码服务。每进入一个客户,号码机器生成一个号码,把这些生成的号码放到ArrayList集合里,并建立单例模式的号码管理类,同时还要建立一个号码生成服务,生成三种不同类型的号码,通过定时器循环生成,生成比例为:6:1:3,生成这三类的号码将由三种窗口服务,使用for循环生成4个普通类窗口,1个vip服务窗口,1个快速服务窗口,服务时间随机数1-10秒之间,服务完成后需要将号码消除,在号码管理中建立消除号码的方法。接着进行下一个号码服务,当vip或快速服务窗口没有号码服务时,转为普通号码服务。

 

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

详细请查看:http://edu.csdn.net/heima

你可能感兴趣的:(java,android,面试,任务调度,交通,破解)