Java线程写龟兔赛跑
时间: 2023-06-30 17:20:08 浏览: 54
好的,这是一个经典的多线程案例,可以用Java语言实现龟兔赛跑游戏。
首先,我们需要定义一个继承自Thread类的Rabbit类和Tortoise类,并重写它们的run()方法,在这个方法中实现龟兔赛跑的逻辑,例如:
```java
public class Rabbit extends Thread {
private int length = 100; // 赛道长度
private int speed = 5; // 兔子的速度
private int rest = 0; // 兔子的休息时间
@Override
public void run() {
for (int i = 0; i < length; i += speed) {
System.out.println("兔子跑了" + i + "米");
// 兔子休息
if (i % 30 == 0) {
try {
Thread.sleep(rest);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
public class Tortoise extends Thread {
private int length = 100; // 赛道长度
private int speed = 2; // 乌龟的速度
@Override
public void run() {
for (int i = 0; i < length; i += speed) {
System.out.println("乌龟跑了" + i + "米");
}
}
}
```
接着,我们在主函数中创建Rabbit和Tortoise对象,并调用它们的start()方法来启动线程,例如:
```java
public static void main(String[] args) {
Rabbit rabbit = new Rabbit();
Tortoise tortoise = new Tortoise();
rabbit.start();
tortoise.start();
}
```
这样,两个线程就会同时开始跑步,我们可以看到它们的跑步过程,最终谁会赢得比赛,就要看他们的运气了。
当然,如果你想让比赛更加有趣,还可以加入一些特殊事件,例如兔子突然发现胡萝卜,或者乌龟遇到了路障等等。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)