龟图)Logo语言是年轻的计算机用户所熟悉的种语言,龟图是这种种语言的一个著名应用。想像一只机器海龟在J

龟图)Logo语言是年轻的计算机用户所熟悉的种语言,龟图是这种种语言的一个著名应用。想像一只机器海龟在J,第1张

龟图)Logo语言是年轻的计算机用户所熟悉的种语言,龟图是这种种语言的一个著名应用。想像一只机器海龟在Java程序的控制下在房间内移动。海龟有一支画笔,可以处在两种位置,笔头朝上或朝下。当画笔朝下时,海龟画出其运动的轨迹;当画笔朝上时,海龟自由移动,不会写下任何内容。请模拟海龟的 *** 作并创建一个计算机化的图板。使用一个2020的数组floor,并将其初始化为0。从一个包含命令的数组中读取命令,始终跟踪海龟的当前位置以及画笔的朝向。假定海龟总是从位置(0,0)开始移动,并且画笔朝上。程序中必须处理的海龟命令如下:

命令 含义

1 画笔朝上

2 画笔朝下

3 右转

4 左转

5,10 向前走10步(或不为10的步数)

6 打印2020的数组

9 数据结束(循环结束标志)

假如海龟在图板中心附近的某个位置上,下面的“程序”将在画笔朝上时画出一个1212的正方形。

2

5,12

3

5,12

3

5,12

3

5,12

5,12

1

6

9

当海龟在运动的画笔朝下,将数组floor的相应元素置为1。当给出6号命令(打印)时,若某数组元素为1,则显示一个星号,或者显示其它字符;若某数组元素为0,就显示一个空格。编写一个程序,实现龟图功能。编写几个龟图程序,画出有趣的图形,并增加它命令,使龟图语言的功能更强大。

class Animal {

public double speed;

public void run(int length) {

Systemoutprintln(length/thisspeed);

}

}

class Rabbit extends Animal {

Rabbit(int speed) {

superspeed = speed;

}

@Override

public void run(int length) {

Systemoutprintln("Rabbit time = "+length/thisspeed +" seconds");

}

}

class Tortoise extends Animal {

Tortoise(int speed) {

superspeed = speed;

}

@Override

public void run(int length) {

Systemoutprintln("Tortoise time = "+length/thisspeed +" seconds");

}

}

public class Match {

public static int length = 100;

private static void begin(Rabbit r,Tortoise t) {

rrun(length);

trun(length);

}

public static void main(String[] args) {

Rabbit r = new Rabbit(20);

Tortoise t = new Tortoise(5);

begin(r,t);

}

}

程序如下:

/

GuiTuSaiPaojava

@author Antonio

2009年9月2日20:16:33

实现Runnable接口中的run方法

/

public class GuiTuSaiPao implements Runnable {

private String name;

private int length=0;

public GuiTuSaiPao(){}

public GuiTuSaiPao(String name){

thisname=name;

}

public void run(){

while(true){

//每次停500毫秒

try {

Threadsleep(500);

} catch (InterruptedException e) {

eprintStackTrace();

}

//向前跑十米

length+=10;

Systemoutprintln(name+"已跑了"+length+"米");

//到达终点

if(length>=100){

Systemoutprintln(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);

//启动线程

threadstart();

thread2start();

}

}

输出结果:(不一定每次都一样!)

乌龟已跑了10米

兔子已跑了10米

兔子已跑了20米

乌龟已跑了20米

乌龟已跑了30米

兔子已跑了30米

兔子已跑了40米

乌龟已跑了40米

兔子已跑了50米

乌龟已跑了50米

乌龟已跑了60米

兔子已跑了60米

乌龟已跑了70米

兔子已跑了70米

乌龟已跑了80米

兔子已跑了80米

兔子已跑了90米

乌龟已跑了90米

兔子已跑了100米

兔子,已经到达终点!

乌龟已跑了100米

乌龟,已经到达终点!

完全看rp,这就是线程!

给分吧,哈哈

以上就是关于龟图)Logo语言是年轻的计算机用户所熟悉的种语言,龟图是这种种语言的一个著名应用。想像一只机器海龟在J全部的内容,包括:龟图)Logo语言是年轻的计算机用户所熟悉的种语言,龟图是这种种语言的一个著名应用。想像一只机器海龟在J、JAVA编程题龟兔赛跑、用JAVA多线程实现龟兔赛跑等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9842925.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存