【Random】猜數字小遊戲案例
阿新 • • 發佈:2019-02-02
package com.itheima; import java.util.Random; import java.util.Scanner; /*猜數字小遊戲案例 * 1,系統產生一個1-100之間的隨機資料,輸出這個數字是多少 * 2,鍵盤錄入我們猜的資料 * 3,比較這個兩個資料,用if語句實現。 * 大了:提示大了 * 小了:提示小了 * 猜中了:恭喜你,猜中了 * 4,實現多次猜資料,用到迴圈,但是不知道要猜多少次,怎麼辦呢 * 用While語句實現 * 5,限定次數,只有7次猜的機會。*/ public class RandomGame02 { public static void main(String[] args) { // 先產生一個1-100的數字 Random r = new Random(); int randomNumber = r.nextInt(100) + 1; // 增加計數器,限定輸入次數 int count = 0; // 開始迴圈猜測 while (true) { // 輸入猜測的資料 Scanner sc = new Scanner(System.in); System.out.println("請輸入您猜的數字"); int guessNumber = sc.nextInt(); count++; if (guessNumber > randomNumber) { System.out.println("您輸入的數字大了,還剩" + (7 - count) + "次");
} else if (guessNumber < randomNumber) { System.out.println("您輸入的數字小了,還剩" + (7 - count) + "次"); } else if (guessNumber == randomNumber) { System.out.println("恭喜您猜對了"); break; } if (count == 7) { System.out.println("您的次數已用完,請重新投幣!"); // 此處必須要加break,表示這種情況的結束,否則程式還會繼續往下執行。 break; } } } }
這個題目裡面有一些值得去完善的細節的部分,雖然我自己寫了程式碼,也改了幾次。最後還是執行輸出瞭如圖片中的結果。
我對於圖片中執行結果的“最後還剩0次”有些不太滿意,總覺得如果是這樣的話,程式不夠人性化。而且看起來很奇怪,和下面的“次數用完請重新投幣”衝突。
太傅說可以把標紅的地方拆成兩部分,一部分提示對錯,一部分提示還剩多少次,這樣就可以解決這個問題。