永发信息网

java控制红绿灯及模拟车辆运动

答案:3  悬赏:50  手机版
解决时间 2021-03-22 12:36
java控制红绿灯及模拟车辆运动
最佳答案
交通灯一个类,汽车一个类。用多线程实现同步,代码如下:
public class Temp
{
public static final Boolean RED=false;
public static final Boolean GREEN=true;
Boolean lightControl=GREEN;
Light light=new Light();
Car car=new Car();

public static void main(String[] args){
Temp temp=new Temp();
temp.start();
}

public void start()
{
light.print();
Thread lightThread=new Thread(new Runnable(){
public void run(){
light.run();
}
});
Thread carThread=new Thread(new Runnable(){
public void run(){
car.run();
}
});
lightThread.start();
carThread.start();
}

class Light
{
public void count(){
short count=5;
while (count>-1)
{
try
{
Thread.sleep(1000);
System.out.println("还有"+count+"秒");
count--;
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
change();
}

public void change(){
lightControl=!lightControl;
print();
}

public void print(){
if(lightControl){
System.out.println("现在是绿灯!");
}else{
System.out.println("现在是红灯!");
}
}

public synchronized void run(){
while(true){
count();
if (lightControl)
{
car.go();
}
}
}
}

class Car
{
public synchronized void go(){
this.notify();
}

public synchronized void stop(){
System.out.println(" 汽车停止");
try
{
this.wait();
}
catch (InterruptedException e)
{
e.printStackTrace();
}

}

public void run(){
while(true){
if(!lightControl){this.stop();}
System.out.println(" 汽车运行");
try
{
Thread.sleep(100);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
}
}
全部回答
信号灯一个类汽车一个类,规定信号灯和汽车的行为。主方法用两个线程控制实体对象的行为。试试吧,应该不难。
写两个程序分别模拟红绿灯和汽车:
1)红绿灯程序以报文形式通知汽车程序;
2)汽车程序需要用多线程来实现。
3)红绿灯程序用个循环,每隔n分钟红绿灯转换,同时通知汽车程序;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
学习跆拳道要多长时间 每天还要上班 可以一边
农村淘宝合作站为什么一单一单的拍,一个商品
淘宝售后记录怎么删除,淘宝上申请售后的记录
2月份28天,只干了12天,工资怎么算
新日数码图文益阳旗舰店在什么地方啊,我要过
刘宴初为转运史,独领陕东诸道。陕西皆度支①
宝安t3机场怎么坐地铁
问道、斗魔蜥进化到金甲蝎需要多少元宝?
岂加个月是什么字.就是凯的左边加上月。是什
西瓜炒青芄怎么做
魔法师地址在哪,我要去那里办事
不足近义词是什么意思,不足的近义词是什么
三打哈是怎么算分的?
榆次哪里火补小轿车轮胎?
Did you see the film last night?- Yes, I h
推荐资讯
正弦15乘余弦60减正弦75乘余弦30 化简...
手机录下来的视频加工软件
奇葩的意思,奇葩是什么意思
语文学刊,现代语文哪一个期刊更好?
There is a cup of tea.Pleaese pass -----to
雅培1段怎么冲泡方法
butterfly鼓谱!!跪求
红焖羊肉的家常做法内蒙古四子王旗
9.0理正为什么备份后缀为LZ
洪云烧烤怎么去啊,有知道地址的么
渔家傲(秋思)范仲淹阅读答案
90平米的房子地面铺瓷砖要多少
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?