龟兔赛跑
//龟兔赛跑
public class Match implements Runnable {
private String name;
//实现run方法
@Override
public void run() {
//你可以让兔子睡觉
//由于兔子跑的太快,所以模拟兔子休息
// if (Thread.currentThread().getName().equals("兔子")){
// try {
// Thread.sleep(100);
// } catch (InterruptedException e) {
// e.printStackTrace();
//}
// }
//循环,总路程100米
for (int i = 1; i <=50 ; i++) {
//判断结束,调用getmatch()方法,为true则比赛结束
if (getmatch(i)==true){
break;
}
System.out.println(Thread.currentThread().getName()+"跑了"+i+"米");
}
}
//以下方法判断谁获胜,sleep 表示路程
private boolean getmatch(int sleep){
//判断是否有胜利者
if(name!=null){ //存在胜利者,就会结束程序
return true;
}else
if(sleep>=50){ //谁先跑够50米,就结束程序,终止比赛
name=Thread.currentThread().getName();
System.out.println("胜利者:"+name);
return true;
}else {
return false; //都不成立返回false
}
}
public static void main(String[] args) {
Match match=new Match();
new Thread(match,"兔子").start();
new Thread(match,"乌龟").start();
}
}
结果: