/************************************************ * Comment: 龜兔賽跑 * 1. 請輸入跑道長度(跑道長度 介於10-30): * 2. 若跑道長度沒有介於10-30之間,請使用者重新輸入 * 3. 烏龜一次走動的長度為1-2, * 兔子一次跳躍的長度為0-3 * 4. 每到一個定點,即於定點上填入1,其餘則為 0 * 5. 並於烏龜或兔子到達終點時,顯示出如範例所示之比賽過程,並告知烏龜或兔子贏的訊息(若平手即顯示平手訊息) 輸出範例: ----95年龜兔賽跑---- 請輸入跑道長度(10-30):5 請重新輸入跑道長度(10-30):35 請重新輸入跑道長度(10-30):20 比賽過程 烏龜 :0 1 1 0 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 1 兔子 :0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 1 平手 烏龜 :0 1 1 0 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 兔子 :0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 1 兔子獲勝 * * * Author: Han-Hong Wang * Website: http://whhnote.blogspot.com * E-mail: phodra@hotmail.com * Develop Environment-Compiler: J2SE 1.6.0 * -Editor: Eclipse 3.2.0 * -OS: Windows XP SP2 * Creation Date: 2006/12/27 * Last Update: 2010/07/02 *************************************************/ import java.util.Scanner; public class Turtle_Rabbit_Race { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("----95年龜兔賽跑----"); int RunwayRange=0; //Get Runway Range System.out.print("請輸入跑道長(10-30): "); while (RunwayRange==0) { RunwayRange = scanner.nextInt(); if ((RunwayRange<10)||(RunwayRange>30)) { System.out.print("請重新輸入跑道長度 (10-30): "); RunwayRange=0; } } //Run Start int rabbitStep[] = new int[RunwayRange+1]; //兔子步數記錄(0-3) int turtleStep[] = new int[RunwayRange+1]; //烏龜步數記錄(1-2) int rabStep=0; //兔子步數(0-3) int turStep=0; //烏龜步數(1-2) while (rabStep<RunwayRange && turStep<RunwayRange) { rabStep += (int)(Math.random()*4); //兔子這次跑的步數 if (rabStep>RunwayRange) {rabStep=RunwayRange;} if (rabStep!=0) {rabbitStep[rabStep-1] = 1;} //記錄兔子這次跑的位置 turStep += 1+(int)(Math.random()*2); //烏龜這次跑的步數 if (turStep>RunwayRange) {turStep=RunwayRange;} turtleStep[turStep-1] = 1; //記錄烏龜這次跑的位置 } int i; System.out.print("兔子 : "); for (i=0;i<RunwayRange;i++) { System.out.print(rabbitStep[i]); } System.out.println(); System.out.print("烏龜 : "); for (i=0;i<RunwayRange;i++) { System.out.print(turtleStep[i]); } //分出勝負 System.out.println(); if (rabStep > turStep) { System.out.println("兔子獲勝!!"); } else { if (rabStep == turStep) { System.out.println("雙方平手!!"); } else { System.out.println("烏龜獲勝!!"); } } } }