赞
踩
案例:龟兔赛跑-Race
1.首先来个赛道距离,然后来个要离终点越来越近;
2.判断比赛是否结束;
3.打印出胜利者;
4.龟兔赛跑开始;
5.故事中乌龟是胜利者,兔子需要睡觉,所以我们来模拟兔子睡觉;
6.终于,乌龟赢得比赛;
代码
- package race;
-
- //模拟龟兔赛跑
- public class Race implements Runnable {
-
- private static String winner;
-
- @Override
- public void run() {
- for (int i = 0; i <= 100; i++) {
-
- //模拟兔子休息
- if (Thread.currentThread().getName().equals("兔子") && i % 50 == 0) {
- try {
- Thread.sleep(1);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-
- //判断比赛是否
- boolean falg = gameOver(i);
- //如果比赛结束就停止程序
- if (falg) {
- break;
- }
-
- System.out.println(Thread.currentThread().getName() + ":跑了" + i + "步");
- }
- }
-
- // 判断是否完成比赛
- private boolean gameOver(int steps) {
- //判断是否有胜利者
- if (null != winner) {
- return true;
- } else {
- if (steps >= 100) {
- winner = Thread.currentThread().getName();
- System.out.println("winner is " + winner);
- return true;
- }
- }
- return false;
- }
-
- public static void main(String[] args) {
- Race race = new Race();
- new Thread(race, "乌龟").start();
- new Thread(race, "兔子").start();
- }
- }
运行结果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。