写出众所周知的“龟兔赛跑”故事,兔子因为太过自信,比赛中途休息而导致乌龟赢得了比赛.本案例要求编写一个程序模拟龟兔赛跑,乌龟的速度为1米/1500毫秒,兔子的速度为5米/500毫秒,等兔子跑到第700米时选择休息10000毫秒,结果乌龟赢得了比赛。的Java代码
时间: 2023-11-27 07:05:24 浏览: 98
以下是符合要求的Java代码示例:
```java
public class TurtleRabbitRace {
public static void main(String[] args) {
int finishLine = 1000;
int turtlePosition = 0;
int rabbitPosition = 0;
int rabbitRestTime = 10000;
while (turtlePosition < finishLine && rabbitPosition < finishLine) {
// Turtle moves 1 step every 1500 milliseconds
try {
Thread.sleep(1500);
turtlePosition += 1;
System.out.println("Turtle: " + turtlePosition + " Rabbit: " + rabbitPosition);
} catch (InterruptedException e) {
e.printStackTrace();
}
// Rabbit moves 5 steps every 500 milliseconds, then rests for 10000 milliseconds at position 700
if (rabbitPosition < 700) {
rabbitPosition += 5;
} else if (rabbitPosition == 700) {
System.out.println("Rabbit is taking a nap...");
try {
Thread.sleep(rabbitRestTime);
System.out.println("Rabbit wakes up!");
} catch (InterruptedException e) {
e.printStackTrace();
}
} else {
rabbitPosition += 5;
}
// Check if either participant has crossed the finish line
if (turtlePosition >= finishLine && rabbitPosition >= finishLine) {
System.out.println("It's a tie!");
} else if (turtlePosition >= finishLine) {
System.out.println("Turtle wins!");
} else if (rabbitPosition >= finishLine) {
System.out.println("Rabbit wins!");
}
}
}
}
```
在这个示例中,龟兔两个参赛者从起点开始,龟每隔1500毫秒前进1步,兔子每隔500毫秒前进5步,到达700米后休息10000毫秒,然后继续前进。程序在每次循环中都会显示当前的位置,并在其中一个参赛者到达终点时宣布胜者。注意,由于涉及到多线程,代码中使用了try-catch来处理InterruptedException异常。