模拟龟兔赛跑思路 首先需要知道跑道有多长使用for循环实现然后要有一个方法判断比赛是否结束,这里我们就用了一个gameOver方法,将兔子或者乌龟跑的步数传进该方法进行判断,为了严谨要先判断是否有胜者如果有的话退出该方法,没有接着判断判断步数是否大于100如果大于说明已经到终点了使用Thread.currentThread().getName()将线程名字给winner然后说明胜利者是谁for循环里边有一个布尔值接收gameOver函数返回值,判断是否比赛结束。 public class Race implements Runnable{ //模拟龟兔赛跑 private static String winner; @Override public void run() { for (int i = 0; i <= 100; i++) { //判断比赛是否结束 boolean flag = gameOver(i); if(flag){ break; } System.out.println(Thread.currentThread().getName()+"跑了"+i+"步"); } } //判断是否完成比赛 private boolean gameOver(int step){ if(winner!=null){ return true; } if (step >= 100) { winner = Thread.currentThread().getName(); System.out.println("胜利者为" + winner); return true; } return false; } public static void main(String[] args) { Race race = new Race(); new Thread(race,"乌龟").start(); new Thread(race,"兔子").start(); } }