public class Demo03 implements Runnable{
//胜利者
private static String winner;
@Override
public void run() {
for (int i = 0; i <= 200; i++) {
//模拟兔子休息
if(Thread.currentThread().getName().equals("兔子")&& i%200==0){
try {
Thread.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println(Thread.currentThread().getName()+"跑了"+i+"步");
//判断比赛是否结束
boolean flag = gameOver(i);
if(flag) {
break;
}
}
}
//判断是否完成比赛
private boolean gameOver(int steps) {
//判断是否已经存在胜利者
if(winner!=null){
return true;
} else if(steps==200){
winner = Thread.currentThread().getName();
System.out.println("胜利者是"+winner);
return true;
}
return false;
}
public static void main(String[] args) {
Demo03 demo03 = new Demo03();
new Thread(demo03,"兔子").start();
new Thread(demo03,"乌龟").start();
}
}
Java模拟龟兔赛跑
最新推荐文章于 2023-06-26 02:30:15 发布
这篇博客详细介绍了如何运用Java编程实现龟兔赛跑的模拟,通过多进程技术来展示比赛过程,并引入概率论元素增加比赛不确定性,使得结果更富有趣味性。

2580

被折叠的 条评论
为什么被折叠?



