java多线程经典题目

重点内容

/**
* Description: 龟兔赛跑游戏

* Copyright (c) , 2016, Jansonxu

* This program is protected by copyright laws.

* Program Name:ToristAndRabbitRunGame.java

* Date: 2016年1月26日
*
* @author 李阳
* @version : 1.0
*/
package yestdayProject;

public class ToristAndRabbitRunGame {
private int toristDistance;//乌龟跑过的距离
private int rabbitDistance;//兔子跑过的距离
/**
* 乌龟线程内部类
*/
class Torist extends Thread{

    @Override
    public void run() {
        //分析编程代码
        for(int i=1;i<=1000;i++){
            //判断兔子是否到达终点
            if(rabbitDistance==1000){
                //当兔子先1000的时候 兔子就已经赢了
                System.out.println("兔子赢得了比赛,此时乌龟才跑了"+toristDistance+"米");
                break;
            }else{
                //乌龟开始跑
                toristDistance+=1;
                //判断距离是否是100的倍数
                if(toristDistance%100==0){
                    try {
                        System.out.println("乌龟跑过了【"+toristDistance+"】米,此时兔子跑过段距离是【"+rabbitDistance+"】");
                        Thread.sleep(500);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }

    }
}
/**
 * 兔子线程内部类
 */
class Rabbit extends Thread{

    @Override
    public void run() {
        //分析编程代码
        for(int i=1;i<=1000/5;i++){
            //判断兔子是否到达终点
            if(toristDistance==1000){
                //当兔子先1000的时候 兔子就已经赢了
                System.out.println("乌龟赢得了比赛,此时兔子才跑了"+rabbitDistance+"米");
                break;
            }else{
                //乌龟开始跑
                rabbitDistance+=5;
                //判断距离是否是100的倍数
                if(rabbitDistance%20==0){
                    try {
                        System.out.println("兔子跑过二段距离是【"+rabbitDistance+"】"+"乌龟跑过了【"+toristDistance+"】米,");
                        Thread.sleep(500);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }

    }
}
//测试
public static void main(String[] args) {
    //1 外部类实例构建 
    ToristAndRabbitRunGame outer=new ToristAndRabbitRunGame();
    //2兔子 乌龟线程实例构建
    Rabbit rabbit=outer.new Rabbit();
    Torist torist=outer.new Torist();
    //3 依次启动
    //在现实中 也不可能两个同时跑 这样也是很公平的
    rabbit.start();
    torist.start();
}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值