黑马程序员技术交流社区
标题:
如果电脑是中国人发明的!!
[打印本页]
作者:
黄云南
时间:
2012-3-25 02:42
标题:
如果电脑是中国人发明的!!
————————————————————————路的对象设计:——————————————————————————————
class Road
{
List car= new ArrayList<String>();
String name=null;路线名
1,在构造方法中让单独开一个线程向集合中加入元素,
表示此路线随机增加一辆车
2,再在构造方法中另开一个线程定义一个定时器定义每隔1秒检查自己的路线的灯是否是绿灯,如果是绿的就将集合的第一个元素删除。
表示此路线为绿灯时一秒钟减少一辆车。
Road(String name)
{
this.name=name;
单独一个线程让此路线进入车辆随机增加元素
———开一个线程,让线程随机休眠几秒钟达到随机增加车辆的效果
{
for (int i=1;i<1000 ;i++ )
{
让此线程sleep();时间1到10秒。醒了就在集合中加入字符串。
car.add(name+"-"+i);//表示某一路线加入了第i辆车。
}
}
————另开一个线程,定义一个定时器实现线程在规定的时间了循环做某事
{
定义一个定时器定义每隔1秒检查自己的路线的灯是否是绿灯,如果是绿的就将集合的第一个元素删除
}
}
}
}
————————————————————————灯面向对象的设计—————————————————————————————
public enum Lamp()
{
1,12方向的灯的元素;
S2N("N2S","S2W",false);N2S(null,null,false) ;
共12个灯,其他8个灯是两对应的,4个有对应灯和下一个灯传入,这4个灯的对应灯的对应灯和下一个灯为null。
S2E(null,null,true)
4个右转湾的对应灯和下一个灯为null,而且全部长亮。
2, boolean lingthed;表示等的亮暗状态
3, public method1()
{
返回灯的亮暗状态;
}
4,public void light(){
4.1,把自己的灯变亮,
if (有对应的灯?)//把对应的灯变亮
{
4.1.2,通过对应灯对象名的Lamp.ValueOf(String duiyingdeng);获取对应灯的对象
4.1.3,让后用对应的灯的对象调用light();这个方法把自己变亮
}
4.2,if (有下一个灯?)//把下一个灯变红
{
4.2.1, 通过下一个灯对象名的Lamp.ValueOf(String duiyingdeng);获取对应灯的对象
4.2.2,让后下一个灯的对象调用blackout();这个方法把自己变红
}
}
5,public Lamp blackout()
{
5.1,把自己灯变红
if (有没对应灯?)
{
5.1.2,通过对应灯对象名的Lamp.ValueOf(String duiyingdeng);获取对应灯的对象
5.1.3,让后用对应的灯的对象调用light();这个方法把自己变红
}
5.2,if (有下一个灯?)//把下一个灯变红
{
4.2.1, 通过下一个灯对象名的Lamp.ValueOf(String duiyingdeng);获取对应灯的对象
4.2.2,让后下一个灯的对象调用blackout();这个方法把自己变绿
}
return 下一个灯;//把自己变红,把下一个灯变绿,然后返回这个变绿的灯。
}
6,String duiyingdeng;定义一个字符串存储对象的名字,将对应灯的对象名传入构造函数
7,String naxtlamp;定义一个字符变量存储下一个灯的对象名,在自己变暗时把下一个灯变亮;
8 ,private Lamp(String lampname,String naxtlamp,boolean flag )
{
duiyingdeng=lampname;//把对应灯对象名传给当前灯的duiyindeng中
this.naxtlamp=naxtlamp;
lingthed=flag;//传入亮暗状态
}
}
————————————————————灯控制系统的面向对象的设计——————————————————————————————
灯控制系统:
class LampController()
{
private Lamp currentlamp;定义一个灯类储存当前灯
public lampyunxing()
{
currentlamp=Lemp.S2N;//获取一个灯的对象
currentlamp.light();让当前灯亮起来
定义一个计时器让当前灯隔一段时间就变红,把下一个灯变绿
这需要用多线程实现;
注意:当当前灯变红,下一个灯变绿;然后这个绿灯要变成当前灯,让它循环起来,
所以最好的方法是在当前灯变红的方法中返回下一个灯,
}
}
——————————————主函数实现交通系统运行————————————
让此系统运转起来的主函数:
class MainClass()
{
public static void main(String[] ages)
{
1,new 出12条路线;让车跑起来
2,调用灯控系统;让车有规则的跑
}
}
复制代码
作者:
黄云南
时间:
2012-3-25 02:44
哪天计算机听得懂人话的话,编程会是多么简单的一件事呢!
作者:
刘蕴学
时间:
2012-3-25 03:53
package org.it;
public class 汽车
{
钥匙 我的钥匙 = null;
public 汽车(钥匙 我的钥匙)
{
this.我的钥匙 = 我的钥匙;
}
private void 打火(钥匙 我的钥匙)
{
}
private class 钥匙
{
}
}
复制代码
事实上你这么写绝对不会出错,完全可以运行,不过你要是发给老外看看估计他们全懵
作者:
黄云南
时间:
2012-3-25 06:48
了无尘 发表于 2012-3-25 03:53
事实上你这么写绝对不会出错,完全可以运行,不过你要是发给老外看看估计他们全懵 ...
我以前怎么没想过要试下能不能运行啊!一直以为不行啊!!唉!!
作者:
袁野
时间:
2012-3-25 06:56
若果计算机是中国的 开发语言也许就会像易语言那样了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2