用java多线程编写众所周知的“龟兔赛跑”故事,兔子因为太过自信,比赛中途休息而导致乌龟赢得了比赛。本案例要求编写一个程序模拟龟兔赛跑,乌龟的速度为1米/1000毫秒,兔子的速度为1.2米/1000毫秒,等兔子跑到第600米时选择休息120000毫秒,结果乌龟赢得了比赛。
时间: 2024-02-24 08:57:53 浏览: 132
下面是用Java编写的多线程实现龟兔赛跑的代码:
```java
public class Race {
public static void main(String[] args) {
Tortoise tortoise = new Tortoise();
Rabbit rabbit = new Rabbit();
tortoise.start();
rabbit.start();
}
}
class Tortoise extends Thread {
public void run() {
int total = 0;
while (total <= 1000) {
total++;
System.out.println("乌龟跑了" + total + "米");
try {
Thread.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("乌龟赢得了比赛!");
}
}
class Rabbit extends Thread {
public void run() {
int total = 0;
while (total <= 1000) {
total += 2;
System.out.println("兔子跑了" + total + "米");
try {
Thread.sleep(1200);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (total >= 600) {
System.out.println("兔子累了,休息一下...");
try {
Thread.sleep(120000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
System.out.println("兔子跑完了全程,但比赛输了!");
}
}
```
在这个程序中,我们分别创建了乌龟和兔子两个线程,然后让它们同时开始跑步。乌龟每次循环跑1米,兔子每次循环跑2米,并且在跑到第600米时暂停120000毫秒。
运行这个程序,你会看到乌龟最终赢得了比赛。
阅读全文