思路:利用多线程解决,通过继承Runnable接口,构造兔子与乌龟线程,使兔子线程每跑十步就休息一下。让他们同时启动,观察比赛结果。
public class rabbitAndTortoise implements Runnable{
private static String winner;
public static void main(String[] args) {
// rabbitAndTortoise rt=new rabbitAndTortoise();
// new Thread(rt,"兔子").start();
// new Thread(rt,"乌龟").start();
rabbitAndTortoise rabbit=new rabbitAndTortoise();
rabbitAndTortoise tortoise=new rabbitAndTortoise();
new Thread(rabbit,"兔子").start();
new Thread(tortoise,"乌龟").start();
}
@Override
public void run() {
for(int i=1;i<=100;i++) {
// 如果是兔子,那么每走十步睡一次觉
if(Thread.currentThread().getName().equals("兔子") && i%10==0) {
try {
Thread.sleep(2);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
boolean flag=gameOver(i);
if(flag){
break;
}
System.