请帮我用java写一个程序,要求如下龟兔赛跑:20米 //只要为了看到效果,所有距离缩短了 要求:1.兔子每秒0.5米的速度,每跑2米休息10秒, 2.乌龟每秒跑0.1米,不休息 3.其中一个跑到终点后另一个就不跑了
时间: 2024-02-13 14:07:31 浏览: 80
好的,我来帮您写一个Java程序,实现龟兔赛跑的比赛过程。以下是代码:
```java
public class Race {
public static void main(String[] args) {
int totalDistance = 20; // 比赛的总距离
int rabbitSleepTime = 10; // 兔子每跑2米需要休息的时间
double rabbitSpeed = 0.5; // 兔子每秒的速度
double turtleSpeed = 0.1; // 乌龟每秒的速度
int rabbitDistance = 0; // 兔子当前已经跑的距离
int turtleDistance = 0; // 乌龟当前已经跑的距离
int time = 0; // 比赛已经进行的时间
boolean isRabbitWin = false; // 兔子是否赢得比赛
boolean isTurtleWin = false; // 乌龟是否赢得比赛
while (true) {
time++; // 时间流逝
rabbitDistance += rabbitSpeed; // 兔子跑
turtleDistance += turtleSpeed; // 乌龟跑
// 判断是否有选手到达终点
if (rabbitDistance >= totalDistance) {
isRabbitWin = true;
break;
}
if (turtleDistance >= totalDistance) {
isTurtleWin = true;
break;
}
// 判断兔子是否需要休息
if (rabbitDistance % 2 == 0) { // 兔子已经跑了2米
try {
Thread.sleep(rabbitSleepTime * 1000); // 兔子休息
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
// 输出比赛结果
if (isRabbitWin) {
System.out.println("兔子赢了!用时" + time + "秒");
} else if (isTurtleWin) {
System.out.println("乌龟赢了!用时" + time + "秒");
}
}
}
```
注:以上代码可能需要在IDE中运行,因为需要用到线程相关的方法。
阅读全文