用JAVA多线程实现龟兔赛跑
答案:3 悬赏:20 手机版
解决时间 2021-02-23 15:06
- 提问者网友:战魂
- 2021-02-23 12:17
用JAVA多线程实现龟兔赛跑
最佳答案
- 五星知识达人网友:摆渡翁
- 2021-02-23 13:36
程序如下:
public class GuiTuSaiPao implements Runnable {
private String name;
private int length=0;
public GuiTuSaiPao(){}
public GuiTuSaiPao(String name){
this.name=name;
}
public void run(){
while(true){
//每次停500毫秒
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
//向前跑十米
length+=10;
System.out.println(name+"已跑了"+length+"米.");
//到达终点
if(length>=100){
System.out.println(name+",已经到达终点!");
//结束赛跑,break
break;
}
}
}
public static void main(String[] args) {
GuiTuSaiPao wugui=new GuiTuSaiPao("乌龟");
GuiTuSaiPao tuzi=new GuiTuSaiPao("兔子");
Thread thread=new Thread(wugui);
Thread thread2=new Thread(tuzi);
//启动线程
thread.start();
thread2.start();
}
}
输出结果:(不一定每次都一样!)
乌龟已跑了10米.
兔子已跑了10米.
兔子已跑了20米.
乌龟已跑了20米.
乌龟已跑了30米.
兔子已跑了30米.
兔子已跑了40米.
乌龟已跑了40米.
兔子已跑了50米.
乌龟已跑了50米.
乌龟已跑了60米.
兔子已跑了60米.
乌龟已跑了70米.
兔子已跑了70米.
乌龟已跑了80米.
兔子已跑了80米.
兔子已跑了90米.
乌龟已跑了90米.
兔子已跑了100米.
兔子,已经到达终点!
乌龟已跑了100米.
乌龟,已经到达终点!
完全看rp,这就是线程!
给分吧,哈哈
public class GuiTuSaiPao implements Runnable {
private String name;
private int length=0;
public GuiTuSaiPao(){}
public GuiTuSaiPao(String name){
this.name=name;
}
public void run(){
while(true){
//每次停500毫秒
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
//向前跑十米
length+=10;
System.out.println(name+"已跑了"+length+"米.");
//到达终点
if(length>=100){
System.out.println(name+",已经到达终点!");
//结束赛跑,break
break;
}
}
}
public static void main(String[] args) {
GuiTuSaiPao wugui=new GuiTuSaiPao("乌龟");
GuiTuSaiPao tuzi=new GuiTuSaiPao("兔子");
Thread thread=new Thread(wugui);
Thread thread2=new Thread(tuzi);
//启动线程
thread.start();
thread2.start();
}
}
输出结果:(不一定每次都一样!)
乌龟已跑了10米.
兔子已跑了10米.
兔子已跑了20米.
乌龟已跑了20米.
乌龟已跑了30米.
兔子已跑了30米.
兔子已跑了40米.
乌龟已跑了40米.
兔子已跑了50米.
乌龟已跑了50米.
乌龟已跑了60米.
兔子已跑了60米.
乌龟已跑了70米.
兔子已跑了70米.
乌龟已跑了80米.
兔子已跑了80米.
兔子已跑了90米.
乌龟已跑了90米.
兔子已跑了100米.
兔子,已经到达终点!
乌龟已跑了100米.
乌龟,已经到达终点!
完全看rp,这就是线程!
给分吧,哈哈
全部回答
- 1楼网友:荒野風
- 2021-02-23 14:42
兄弟??
还要写个程序给你??
最多是给你点提示罢了....
还要写个程序给你??
最多是给你点提示罢了....
- 2楼网友:从此江山别
- 2021-02-23 14:03
package test;
public class RunningGame {
public static void main(String[] args) {
Runner wugui = new Runner("wugui");
Runner tuzi = new Runner("tuzi");
//为增加趣味性,可用重载的构造函数,初始化各项数据,这样兔子睡觉时间比较多,但速度比较快,胜负难料
// Runner wugui = new Runner("wugui",500,10);
// Runner tuzi = new Runner("tuzi",1200,25);
wugui.start();
tuzi.start();
}
}
class Runner extends Thread{
private static final int LENGTH = 100; //总路程
private String name; //名字
private int sleep = 500; //睡觉时间
private int speed = 10; //速度
private int meter = 0; //当前路程
public Runner(String name) {
this.name = name;
}
public Runner(String name, int sleep) {
this.name = name;
this.sleep = sleep;
}
public Runner(String name, int sleep, int speed) {
this.name = name;
this.sleep = sleep;
this.speed = speed;
}
public void run(){
while(meter < LENGTH){
try {
Thread.sleep(sleep);
} catch (InterruptedException e) {
e.printStackTrace();
}
meter += speed;
System.out.println(name+":" + meter + " meters");
}
System.out.println(name + " win the game");
System.exit(0);
}
}
public class RunningGame {
public static void main(String[] args) {
Runner wugui = new Runner("wugui");
Runner tuzi = new Runner("tuzi");
//为增加趣味性,可用重载的构造函数,初始化各项数据,这样兔子睡觉时间比较多,但速度比较快,胜负难料
// Runner wugui = new Runner("wugui",500,10);
// Runner tuzi = new Runner("tuzi",1200,25);
wugui.start();
tuzi.start();
}
}
class Runner extends Thread{
private static final int LENGTH = 100; //总路程
private String name; //名字
private int sleep = 500; //睡觉时间
private int speed = 10; //速度
private int meter = 0; //当前路程
public Runner(String name) {
this.name = name;
}
public Runner(String name, int sleep) {
this.name = name;
this.sleep = sleep;
}
public Runner(String name, int sleep, int speed) {
this.name = name;
this.sleep = sleep;
this.speed = speed;
}
public void run(){
while(meter < LENGTH){
try {
Thread.sleep(sleep);
} catch (InterruptedException e) {
e.printStackTrace();
}
meter += speed;
System.out.println(name+":" + meter + " meters");
}
System.out.println(name + " win the game");
System.exit(0);
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯