日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java龟兔赛跑设计思路_JAVA程序设计(09)-----面对对象设计初级应用 龟兔赛跑

發布時間:2023/12/3 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java龟兔赛跑设计思路_JAVA程序设计(09)-----面对对象设计初级应用 龟兔赛跑 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.烏龜和兔子共有屬性和方法 做成父類 避免重復代碼

package com.lovo;

/**

* 類: 動物

* @author Abe

* 屬性: 名字 步距 總距離 睡覺的日子

*/

public class Animal {

protected String name;

protected int step;

protected int distance;

protected int sleepDay;

/**

* 構造器

* @param name

*/

public Animal(String name) {

this.name = name;

}

public Animal(){

}

/**

* 方法:獲取 名字 行走長度 休息的天數 設置總距離 設置休息天數

* @return

*/

public String getName() {

return name;

}

public int getStep() {

return step;

}

public int getDistance(){

return distance;

}

public int getSleepDay() {

return sleepDay;

}

public void setDistance(int dis) {

this.distance += dis;

}

public void setSleepDay(int slp) {

this.sleepDay += slp;

}

}

2.類:烏龜

package com.lovo;

/**

* 類 : 烏龜

* @author Abe

* 父類:Animal

* 屬性:疲勞的日期

*/

public class Tortoise extends Animal {

private int encourageDay;

/**

* 構造器

* @param name

*/

public Tortoise(String name) {

super(name);

}

/**

* 方法: 走路,每次2~4米

*/

public void walk() {

if (encourageDay == 0 && sleepDay == 0) {

step = (int) (Math.random() * 3 + 2);

}

}

/**

* 方法:30%鼓勵 ,之后3天每天可以走雙倍的路程,但是之后的第4天只能休息。

*/

public void encourage() {

if (encourageDay == 0 && sleepDay == 0 && Math.random() >= 0.7) {

step = (int) (Math.random() * 3 + 2) * 2;

encourageDay = 3;

sleepDay = 1;

}

}

/**

* 方法: 調用、設置 激勵天數

*

* @return

*/

public int getEncourageDay() {

return encourageDay;

}

public void setEncourageDay(int enc) {

this.encourageDay += enc;

}

/**

* 方法:每天的行動 1.沒激勵不睡覺 就看是否發動技能 沒發動就普通移動 2.有激勵就激勵移動 沒激勵有睡覺就睡覺

* @return 每天活動的結果

*/

public String everyDay() {

if (this.getEncourageDay() == 0 && this.getSleepDay() == 0) {

this.encourage();

if (this.getEncourageDay() > 0) {

this.setDistance(this.getStep());

return this.getName() + "發動了技能《底力》,瘋狂的向前跑出了" + this.getStep()+ "米!!";

} else {

this.walk();

this.setDistance(this.getStep());

return this.getName() + "跑了" + this.getStep() + "米!";

}

} else if (this.getEncourageDay() != 0) {

this.setDistance(this.getStep());

this.setEncourageDay(-1);

return this.getName() + "的《底力》持續中,它瘋狂的向前跑出了" + this.getStep()+ "米!!";

} else {

this.setDistance(0);

this.setSleepDay(-1);

return this.getName() + "美美的睡了一覺~";

}

}

}

3.類:兔子

package com.lovo;

/**

* 類:兔子

* @author Abe

* 父類:Animal

*/

public class Rabbit extends Animal {

/**

* 構造器

*/

public Rabbit(String name) {

super(name);

}

/**

* 方法:跑步 每次可以跑1~16, 但是一次跑步超過6就要休息1天,超過11就要休息2天

*/

public void run() {

step = (int) (Math.random() * 16 + 1);

if (step >= 11) {

sleepDay = 2;

} else if (step >= 6) {

sleepDay = 1;

}

}

/**

* 方法:沒睡覺就跑步

*/

public String everyDay(){

if(this.getSleepDay() == 0 ){

this.run();

this.setDistance(this.getStep());

if (this.getStep() >= 11) {

return this.getName() + "不可思議的跑出了" + this.getStep()

+ "米!!!~ 它累的不得不休息兩天……";

}else if(this.getStep() >= 6){

return this.getName() + "驚人的跑出了" + this.getStep()

+ "米!!~ 它累的不得不休息一天……";

}else{

return this.getName() + "跑了" + this.getStep()

+ "米!";

}

}else{

this.setDistance(0);

this.setSleepDay(-1);

return this.getName() + "懶洋洋的睡了一覺~~";

}

}

}

4.開始賽跑吧~~:)

package com.lovo;

/**

* 開始比賽跑步 先跑完100米獲勝

* @author Abe

*/

public class Running {

public static void main(String[] args) {

Tortoise tor = new Tortoise("小烏龜");

Rabbit rab = new Rabbit("小兔子");

for(int distance = 100 , day = 1 ;tor.getDistance() < 100 && rab.getDistance() < 100 ;day++ ){

System.out.println("-----------第" + day + "天-----------");

System.out.println(tor.everyDay());

System.out.println(rab.everyDay());

if(tor.getDistance() >= 100 && rab.getDistance() >= 100){

System.out.println("怎么回事?!" + tor.getName() + rab.getName() + "同時沖過了終點!! 居然是平局");

}else if(tor.getDistance() >= 100){

System.out.println(tor.getName() +"取得了勝利!");

}else if(rab.getDistance() >= 100){

System.out.println(rab.getName() +"取得了勝利!");

}else{

System.out.println(tor.getName() + "一共跑了"+ tor.getDistance() + "米!");

System.out.println(rab.getName() + "一共跑了"+ rab.getDistance() + "米!");

}

}

}

}

總結

以上是生活随笔為你收集整理的java龟兔赛跑设计思路_JAVA程序设计(09)-----面对对象设计初级应用 龟兔赛跑的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。