public class SimulationRace implements Runnable{
private static String winner = null;
@Override
public void run(){
boolean flag = false;
String name = Thread.currentThread().getName();
for (int i = 0; i < 101; i++) {
//模拟兔子睡觉
if("兔子".equals(name) && i == 80){
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
//判断是否结束比赛
flag = isBreak(i,name);
if(flag){
break;
}
System.out.println(name+"跑了"+i+"米");
}
}
/**
* 判断比赛是否结束
* @param i
* @param name
* @return
*/
private boolean isBreak(int i, String name) {
if(StringUtils.hasLength(winner)){
return true;
}
if(i == 100){
winner = name;
System.out.println("胜利者是"+winner);
return true;
}
return false;
}
public static void main(String[] args) {
SimulationRace moudlRace = new SimulationRace();
new Thread(moudlRace,"兔子").start();
new Thread(moudlRace,"乌龟").start();
}
}
java 通过Runnable模拟龟兔赛跑
最新推荐文章于 2022-09-27 17:54:58 发布