java众所周知的“龟兔赛跑”故事,兔子因为太过自信,比赛中途休息而导致乌龟赢得了比赛。本案例要求编写一个程序模拟龟兔赛跑,乌龟的速度为1米/1000毫秒,兔子的速度为1.2米/1000毫秒,等兔子跑到第600米时选择休息120000毫秒,结果乌龟赢得了比赛。
时间: 2024-02-24 22:57:50 浏览: 168
好的,我可以为您编写一个简单的 Java 程序来模拟这个场景:
```java
public class Race {
public static void main(String[] args) throws InterruptedException {
// 初始化赛道长度和乌龟、兔子的位置
int trackLength = 1000;
int turtlePosition = 0;
int rabbitPosition = 0;
// 初始化乌龟和兔子的速度
double turtleSpeed = 1.0;
double rabbitSpeed = 1.2;
// 兔子是否休息的标志
boolean rabbitResting = false;
// 模拟比赛过程
while (turtlePosition < trackLength && rabbitPosition < trackLength) {
// 乌龟前进
turtlePosition += Math.round(turtleSpeed * 1000);
System.out.println("乌龟跑了 " + turtlePosition + " 米");
// 兔子前进
if (!rabbitResting) {
rabbitPosition += Math.round(rabbitSpeed * 1000);
System.out.println("兔子跑了 " + rabbitPosition + " 米");
// 如果兔子跑到了 600 米,就休息 120 秒
if (rabbitPosition >= 600) {
rabbitResting = true;
System.out.println("兔子休息中...");
Thread.sleep(120000);
System.out.println("兔子休息结束");
}
} else {
// 兔子在休息中,不前进
System.out.println("兔子在休息中");
}
}
// 打印比赛结果
if (turtlePosition >= trackLength) {
System.out.println("乌龟赢得了比赛!");
} else {
System.out.println("兔子赢得了比赛!");
}
}
}
```
程序会不断地循环,直到乌龟或兔子跑到终点为止。在每个循环中,乌龟和兔子都会前进一定距离,同时程序会检查兔子是否需要休息。如果兔子跑到了 600 米,就会休息 120 秒,期间不会前进。最终,程序会打印出比赛结果。
阅读全文