龟兔赛跑

package thread;

import java.util.Date;

 

/**

 * 17.我们从小就知道“龟兔赛跑”的寓言故事,编写程序模拟实现。

提示:假定总路程为6000m,兔子每分钟跑300m,乌龟每分钟跑100m

,兔子每跑8分钟就休息(设定程序每执行1秒代表现实中的1分钟,

即兔子跑8分钟这个过程在计算机中用8s来完成),

也就是兔子每跑2400m休息12分钟,而乌龟不休息一直跑。

 

@start 7:

@end 7:56

 * */

public class Seventeen_RabitAndT {

public static void main(String[] args){

RabitAndT rat=new RabitAndT();

rat.init();

rat.start();

}

}

 

class RabitAndT {

Thread r=null;

Thread t=null;

int rRun=0;

int rSleep=0;

int rMax=6000;

int tMax=6000;

public void init(){

r=new Thread(){

public void run(){

while(rMax>0){

 

if(rRun<8){

  rRun++;

  rMax-=300;

  

  try{

  System.out.println("rabbit run:"+rRun);

  System.out.println("rabbit'finished line distance:`"+rMax);

  this.sleep(1000);

  }

  catch(Exception exp){}

  

}

else{

rRun=0;

 

  try{

  System.out.println();

  System.out.println("rabbit need to sleep 12s:`"+new Date());

  this.sleep(12000);

  

  System.out.println("rabbit wake @ :`"+new Date());

  System.out.println();

  }

  catch(Exception exp){}

  

}

}

System.out.println("------------------- rabit finished!");

}

};

t=new Thread(){

public void run(){

while(tMax>0){

tMax-=100;

try{

 System.out.println(" torest run:"+new Date());

 System.out.println("  torest'finished line distance:`"+tMax);

this.sleep(1000);

}

catch(Exception exp){}

}

System.out.println(" -------------------torest finished");

}

};

}

public void start(){

r.start();

t.start();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值