返回

(5条消息) java实现龟兔赛跑方法_学习微站的博客-CSDN博客_java龟兔赛跑代码

发布时间:2022-12-02 04:49:18 370
# java# java# 支付# 软件# 软件

(5条消息) java实现龟兔赛跑方法_学习微站的博客-CSDN博客_java龟兔赛跑代码_java

​​学习微站​​

(5条消息) java实现龟兔赛跑方法_学习微站的博客-CSDN博客_java龟兔赛跑代码_java实现_02

包括文字、图片、音频、视频、软件、程序、以及网页版式设计等在网上搜集或者是自己原创的。 访问者可将本网站提供的内容或服务用于时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。除此以外,将本网站任何内容或服务用于其他用途时,须征得本网站及相关权利人的书面许可,并支付报酬。 不得以任何形式侵犯作者权益,最终解释权归本人所有。

java实现龟兔赛跑

第一种方法

代码如下:

/**
*
*/
package a;

/**
* @author Administrator
*
*/
public class Race {

public static void main(String arg[]) {
Animal a1,a2;
a1 = new Animal("rabit",100);
a2 = new Animal("turtle",20);
a2.setPriority(Thread.MAX_PRIORITY);//让乌龟的运行优先级更高
a1.start();
a2.start();
// TODO Auto-generated method stub

}

}
class Animal extends Thread{
int speed;//速度
public Animal(String str,int speed){
super(str);//线程名用动物名代表
this.speed=speed;
}
public void run(){
int distance = 0;
int sleepTime;
while(distance<=1000){
System.out.println(getName()+"is at"+distance);
try{
distance+=speed;//每次跑的距离简单用速度计算
sleepTime = (int)(speed+Math.random()*speed);
//速度快休息时间更长
sleep(sleepTime);
}catch(InterruptedException e){}
}
}
}

运行结果如下:

(5条消息) java实现龟兔赛跑方法_学习微站的博客-CSDN博客_java龟兔赛跑代码_java_03

第二种方法

代码如下:

package b;
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class tt extends Applet implements Runnable {

int BeginX=200,EndX=400;
int RabbitX=BeginX,RabbitY=100;
int TortoiseX=BeginX,TortoiseY=200;
int RabbitRestTime=800,TortoiseRestTime=50;
int RabbitSpeed=15,TortoiseSpeed=1;
int state=0;
Thread rabbit;
Thread tortoise;
public void init(){
rabbit=new Thread(this,"rabbit");
tortoise=new Thread(this,"tortoise");
}
public void paint(Graphics g){
setSize(600,350);
g.drawString("龟",TortoiseX,TortoiseY);
g.drawString("兔",RabbitX,RabbitY);
g.setColor(Color.red);
for(int j=70;j<=230;j+=10)
g.drawString("|",EndX+8,j);
g.setColor(Color.black);
if(state==1) g.drawString("兔子赢了!!", 250, 300);
else if(state==2) g.drawString("乌龟赢了!!", 250, 300);
}
public void start(){
rabbit.start();
tortoise.start();
}
public void run(){
String currentRunning;
while(state==0){
currentRunning=Thread.currentThread().getName();
if(currentRunning.equals("rabbit")){
try{
Thread.sleep((int)(Math.random()*RabbitRestTime));
}
catch(InterruptedException e){}
RabbitX+=RabbitSpeed;
if(RabbitX>EndX)RabbitX=EndX;

}
else if(currentRunning.equals("tortoise")){
try{
Thread.sleep((int)(Math.random()*TortoiseRestTime));
}
catch(InterruptedException e){}
TortoiseX+=TortoiseSpeed;
if(TortoiseX>EndX)TortoiseX=EndX;
}
if(RabbitX==EndX)state=1;
else if(TortoiseX==EndX)state=2;
repaint();
}
}
}

运行结果如下:

(5条消息) java实现龟兔赛跑方法_学习微站的博客-CSDN博客_java龟兔赛跑代码_java实现_04

(5条消息) java实现龟兔赛跑方法_学习微站的博客-CSDN博客_java龟兔赛跑代码_java实现_05


欢迎您关注我的微信公众号:学习微站(studysth)

(5条消息) java实现龟兔赛跑方法_学习微站的博客-CSDN博客_java龟兔赛跑代码_java实现_06

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
一文让你学会Java中的内部类 2022-12-02 04:08:45