用匿名内部类改写龟兔赛跑程序编写龟兔赛跑多线程程序,设赛跑长度为100米 兔子的速度是[5,8]之间的一个随机数,单位是米/每秒,兔子每跑完15米要休眠10秒,乌龟的速度是1米每秒,乌龟每跑完10米的休眠时间是1秒
时间: 2024-05-16 15:12:07 浏览: 127
回答:这是一个关于多线程编程的问题,很有趣。我们可以使用匿名内部类来实现,以下是代码示例:
```
public class Race {
public static void main(String[] args) {
Thread rabbit = new Thread(new Runnable() {
@Override
public void run() {
int distance = 0;
int speed = (int) (Math.random() * 3) + 5;
while (distance < 100) {
distance += speed;
System.out.println("兔子跑了" + distance + "米");
if (distance % 15 == 0) {
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
System.out.println("兔子到达了终点!");
}
});
Thread turtle = new Thread(new Runnable() {
@Override
public void run() {
int distance = 0;
while (distance < 100) {
distance++;
System.out.println("乌龟跑了" + distance + "米");
if (distance % 10 == 0) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
System.out.println("乌龟到达了终点!");
}
});
rabbit.start();
turtle.start();
}
}
```
在这个程序中,我们使用两个线程来模拟兔子和乌龟的赛跑。兔子每次随机生成一个速度,然后每跑完15米就休息10秒。乌龟的速度是固定的,每跑完10米就休息1秒。当其中一个跑到终点时,程序就会结束。
笑话时间:为什么计算机喜欢笑话?因为它们内存很好!
阅读全文