java輸出烏龜代碼 java代碼輸入輸出怎么寫

java基礎(chǔ)代碼,求問那句maria.doSth(jose)的影響,兩個(gè)烏龜分別怎么動(藍(lán)色是jo

jose 不動 ,maria forward(40) turn(-90)

成都創(chuàng)新互聯(lián)始終堅(jiān)持【策劃先行,效果至上】的經(jīng)營理念,通過多達(dá)10年累計(jì)超上千家客戶的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的網(wǎng)絡(luò)營銷推廣解決方案,現(xiàn)已廣泛運(yùn)用于各行各業(yè)的客戶,其中包括:玻璃鋼坐凳等企業(yè),備受客戶表揚(yáng)。

這是java 中的方法傳參問題 ,在java中參數(shù)類型是引用類型,傳的是這個(gè)引用參數(shù)的引用的副本,在dosth()中,這個(gè)引用turtle指向了maria的地址,改變的都是maria值

JAVA的程序設(shè)計(jì),設(shè)計(jì)一個(gè)龜兔賽跑的線程類模擬參與賽跑。

感覺挺有趣的,試著寫了個(gè)~

public static void main(String[] arg) {

new wugui().run();

new tuzi().run();

}

static class wugui {

final int sudu = 4;// 烏龜?shù)乃俣仁敲棵?米

public static boolean hasEnd = false;// 是否已經(jīng)跑到終點(diǎn)

public void run() {

new Thread() {

public void run() {

int distance = 0;

while (distance 100) {

try {

Thread.sleep(1000);

distance += sudu;

System.out.println("小烏龜跑了" + distance + "米");

} catch (InterruptedException e) {

e.printStackTrace();

}

}

hasEnd = true;

if (tuzi.hasEnd) {

System.out.println("嗚嗚,差一點(diǎn)點(diǎn)就贏了~");

} else {

System.out.println("勝利是屬于有準(zhǔn)備的人的,你的自大害了你!-------烏龜贏了");

}

}

}.start();

}

}

static class tuzi {

final int sudu = 5;// 兔子的速度是每秒5米

public static boolean hasEnd = false;// 是否已經(jīng)跑到終點(diǎn)

public void run() {

new Thread() {

@Override

public void run() {

int distance = 0;// 跑了多少米

boolean hasXiuXi = false;// 是否休息過

while (distance 100) {

try {

Thread.sleep(1000);

distance += sudu;

System.out.println("小兔子跑了" + distance + "米");

if (distance 50 !hasXiuXi) {

System.out.println("小兔子累了,決定休息一會兒~");

Thread.sleep((long) (10000 * Math.random()));

System.out.println("小兔子休息夠了,又開始跑了,決一勝負(fù)吧!");

hasXiuXi = true;

}

} catch (InterruptedException e) {

e.printStackTrace();

}

}

hasEnd = true;

if (wugui.hasEnd) {

System.out.println("嗚嗚,早知道就不休息了~");

} else {

System.out.println("哇哈哈,你個(gè)戰(zhàn)5渣也想贏我~~做夢去吧!!-------兔子贏了");

}

}

}.start();

}

}

已知龜兔起點(diǎn)相差1000米,烏龜速度10,兔子速度20,求多久能相遇,用JAVA代碼怎么寫?

LZ題目給的不是很準(zhǔn)確。。跑道是否為環(huán)形跑道?

要用JAVA 寫出來,首先就要去分析這道數(shù)學(xué)題中的邏輯問題

1:若為直線跑道,要有相遇 必然是烏龜在前,兔子在后。。定義為追擊問題。。

求出速度差 v = 20 -10 = 10

追擊路程為 s = 1000

可以得出相遇時(shí)間,也就是兔子追上烏龜?shù)臅r(shí)間為 t = 1000/10 = 100(單位題目沒有給出。分析應(yīng)該是min 分鐘)

2:若為環(huán)形跑道

一圈是多少米,題目沒有給出。。故無法算出

分析完數(shù)學(xué)邏輯,再來寫程序代碼

public class Test9 {

public static void main(String[] args) {

//定義烏龜速度

int v1 = 10;

//定義兔子速度

int v2 = 20;

//定義整個(gè)路程

int sum = 1000;

//求出時(shí)間

double t = sum/(v2-v1);

System.out.println(t);

}

}

java畫烏龜

首先,手動畫一個(gè)小烏龜,如下:

然后,按照J(rèn)ava繪圖基本步驟一步步來。

swing 編程步驟:

1. 繼承JFrame

2. 定義組件

3.創(chuàng)建組件(構(gòu)造函數(shù))

4.添加組件

5.對窗體設(shè)置

6.顯示窗體

最終效果如下:

代碼如下:

/**?

*?功能:畫一個(gè)烏龜?

*/??

package?com.test1;??

import?java.awt.*;??

import?javax.swing.*;??

public?class?MyTortoise??extends?JFrame{??

MyPanel2?mp?=?null;??

//構(gòu)造函數(shù)??

public?MyTortoise(){??

mp?=?new?MyPanel2();??

this.add(mp);??

this.setTitle("小烏龜,丑丑噠");??

this.setSize(400,300);??

this.setVisible(true);??

this.setLocation(300,200);??

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);??

}??

public?static?void?main(String[]?args)?{??

MyTortoise?mtg?=?new?MyTortoise();??

}?????

}??

//我的面板。只有JPanel有畫圖方法,JFrame沒有,故必須在JFrame中添加JPanel??

class?MyPanel2?extends?JPanel{??

//定義一個(gè)烏龜??

Tortoise?t?=?null;??

//構(gòu)造函數(shù)??

public?MyPanel2(){????

t?=?new??Tortoise(100,100);??

}??

//畫烏龜??

public?void?drawTortoise(int?x,?int?y,?Graphics?g){??

//1.畫臉??

g.setColor(Color.green);??

g.fillOval(x+60,?y,?30,?15);??

//2.畫左眼??

g.setColor(Color.black);??

g.fillOval(x+65,?y+3,?5,?5);??

//3.畫右眼??

g.fillOval(x+78,?y+3,?5,?5);??

//4.畫脖子??

g.setColor(Color.green);??

g.fillOval(x+70,?y,?10,?42);??

//5.畫烏龜殼??

g.setColor(Color.red);??

g.fillOval(x+40,?y+40,?70,?100);??

//6.畫左上腳??

g.setColor(Color.green);??

g.fillOval(x+15,?y+60,?30,?10);??

//7.畫右上腳??

g.fillOval(x+105,?y+60,?30,?10);??

//8.畫左下腳??

g.fillOval(x+15,?y+110,?30,?10);??

//9.畫右下腳??

g.fillOval(x+105,?y+110,?30,?10);??

//10.畫尾巴??

g.setColor(Color.black);??

g.drawLine(x+70,y+140,x+130,y+210);??

g.drawOval(x+95,?y+150,?30,?30);??

}??

//覆蓋JPanel的paint方法??

//Graphics?是繪圖的重要類。你可以把他理解成一只畫筆??

public?void?paint(Graphics?g){??

//1.調(diào)用父類函數(shù)完成初始化任務(wù)??

//這句話不能少??

super.paint(g);??

//2.畫烏龜,調(diào)用方法即可??

this.drawTortoise(50,?50,?g);??

}??

}??

//定義一個(gè)烏龜類??

class?Tortoise?{??

//表示烏龜?shù)臋M坐標(biāo)??

int?x?=?0;??

//表示烏龜?shù)目v坐標(biāo)??

int?y?=?0;??

public?int?getX()?{??

return?x;??

}??

public?void?setX(int?x)?{??

this.x?=?x;??

}??

public?int?getY()?{??

return?y;??

}??

public?void?setY(int?y)?{??

this.y?=?y;??

}??

public?Tortoise(int?x,?int?y){??

this.x?=?x;??

this.y?=?y;??

}??

}

java模擬龜兔賽跑問題用多線程實(shí)現(xiàn)

import java.util.Date;

public class Test extends Thread{ private int tortoise_walk = 0; // 烏龜已跑長度存放變量

private int rabbit_walk = 0; // 兔子已跑長度存放變量

private int finish = 1000; // 終點(diǎn)

private volatile boolean hasWinner = false;// 勝利者誕生 /**

*

* @ClassName: Tortoise_Run

* @Description: TODO(烏龜奔跑線程)

* @author guotingchao

* @date 2012-3-6 上午10:20:45

*

*/

class Tortoise_Run implements Runnable {

@Override

public void run() {

try {

while (!hasWinner) {

if (tortoise_walk % 100 == 0 (tortoise_walk != 0||tortoise_walk=finish)) { //烏龜每100米休息500毫秒

System.out.println("烏龜休息中………………");

Thread.sleep(500);

}

tortoise_walk++;

System.out.println("烏龜已跑"+tortoise_walk+"米");

}

} catch (InterruptedException e) {

e.printStackTrace();

}

}

} /**

*

* @ClassName: Rabbit_Run

* @Description: TODO(兔子奔跑線程)

* @date 2012-3-6 上午10:25:10

* @author guotingchao

*/

class Rabbit_Run implements Runnable {

@Override

public void run() {

try {

while (!hasWinner) {

if (rabbit_walk % 20 == 0 (rabbit_walk != 0||rabbit_walk=finish)) { //兔子每20米休息500毫秒

System.out.println("兔子休息中………………");

Thread.sleep(500);

}

rabbit_walk=rabbit_walk+5; //每秒跑5步

System.out.println("兔子已跑"+rabbit_walk+"米");

}

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

@Override

public void run(){

new Thread(new Rabbit_Run()).start();

new Thread(new Tortoise_Run()).start();

}

/**

* @Title: main

* @Description: TODO(

* 賽程1000米,兔子跑5米,烏龜跑1米,兔子每20米休息500毫秒,烏龜每100米休息500毫秒。誰先到終點(diǎn)就結(jié)束程序

* ,并顯示獲勝方。)

* @param @param args

* @param @throws Exception 設(shè)定文件

* @author guotingchao

* @return void 返回類型

* @throws

*/

public static void main(String[] args) throws Exception {

long temp_actionTime=System.currentTimeMillis();

System.out.println("比賽開始:"+new Date(temp_actionTime)+"毫秒");

Test t=new Test();

new Thread(t).start();

while(true){

if(t.tortoise_walk=t.finish||t.rabbit_walk=t.finish){

t.hasWinner=true;

break;

}

}

String winnnerName=t.tortoise_walkt.rabbit_walk?"烏龜":"兔子";

long temp_lastTime=System.currentTimeMillis();

System.out.println(winnnerName+"勝利");

System.out.println("比賽結(jié)束:"+new Date(temp_lastTime)+"毫秒");

System.out.println("所耗時(shí)間:"+(temp_lastTime-temp_actionTime)+"毫秒");

System.out.println("兔子="+t.rabbit_walk+" 烏龜="+t.tortoise_walk);

}

}

//不知道兔子和烏龜?shù)牟介L時(shí)間是否按每秒。 這里程序只考慮依次遞增頻率

本文標(biāo)題:java輸出烏龜代碼 java代碼輸入輸出怎么寫
當(dāng)前網(wǎng)址:http://muchs.cn/article26/dossjjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄網(wǎng)站改版、企業(yè)建站品牌網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)