编写程序版的龟兔赛跑(1)写两个类:tortoise和rabbit都继承Thread,定义一个类变量distance作为跑了多少米(2)重写run()方法,让距离不停的增加直到1000,并实时的打印出各自跑了多少米。(3)编写测试类,建立两个线程并设置兔子的优先级高于乌龟的优先级,让两个线程跑起来看看结果(4)更改之前的代码,当兔子跑了900米时休眠1秒,再次运行程序看看结果。java
时间: 2024-04-08 14:34:23 浏览: 112
以下是符合你描述的龟兔赛跑程序的代码:
```java
// Tortoise.java
public class Tortoise extends Thread {
public static int distance = 0;
@Override
public void run() {
while (distance < 1000) {
distance += 10;
System.out.println("Tortoise: " + distance + " meters");
}
}
}
// Rabbit.java
public class Rabbit extends Thread {
public static int distance = 0;
@Override
public void run() {
while (distance < 1000) {
distance += 20;
System.out.println("Rabbit: " + distance + " meters");
if (distance == 900) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
// Main.java (测试类)
public class Main {
public static void main(String[] args) {
Tortoise tortoise = new Tortoise();
Rabbit rabbit = new Rabbit();
// 设置兔子的优先级高于乌龟
rabbit.setPriority(Thread.MAX_PRIORITY);
tortoise.setPriority(Thread.MIN_PRIORITY);
tortoise.start();
rabbit.start();
}
}
```
以上代码定义了两个类`Tortoise`和`Rabbit`,它们都继承自`Thread`类,并重写了`run()`方法。在`run()`方法中,分别通过增加`distance`变量的值来模拟乌龟和兔子的跑步过程,并实时打印跑了多少米。
在测试类`Main`中,创建了一个乌龟线程和一个兔子线程,并设置兔子线程的优先级高于乌龟线程。然后通过调用`start()`方法启动线程,让它们开始跑步。
如果你想测试兔子跑了900米时休眠1秒的情况,可以将代码中的注释去掉,运行程序观察结果。
阅读全文