首先来一个赛道距离,然后离终点越来越近
判断比赛是否结束
打印出胜利者
龟兔赛跑开始
故事中是乌龟赢得,兔子需要睡觉,所以我们来模拟兔子睡觉
终于,乌龟赢得了比赛
package com.wang1.demo01;//模拟龟兔赛跑public class Race implements Runnable{ private static String winner; @Override public void run() { for (int i = 0; i <=100 ; i++) { //模拟兔子休息 if(Thread.currentThread().getName().equals("兔子")&& i%10==0){ try { Thread.sleep(3); } catch (InterruptedException e) { e.printStackTrace(); } } //判断比赛是否结束 boolean flag=gameOver(i); if(flag){ break; } System.out.println(Thread.currentThread().getName()+"-->跑了"+i+"步"); } } //判断是否完成比赛 private boolean gameOver(int steps){ //判断是否有胜利者 if(winner!=null){//已经出现了胜利者 return true; }{ if(steps==100){ winner=Thread.currentThread().getName(); System.out.println("winner is"+winner); return true; } } return false; } public static void main(String[] args) { Race race = new Race(); new Thread(race,"兔子").start(); new Thread(race,"乌龟").start(); }}