iT邦幫忙

2024 iThome 鐵人賽

DAY 7
0
佛心分享-SideProject30

從0開始—初階程式語言學習者的必經之路系列 第 7

DAY7 比大?比小?猜到對的數字!

  • 分享至 

  • xImage
  •  

今天使用了一個猜數字遊戲的範例,使用 do-while 迴圈讓使用者反覆輸入數字,直到猜中為止。

目錄
1.解釋用法
2.新增語法及程式內容

1.解釋用法

  1. 導入 Scanner:
    import java.util.Scanner; 導入了 Scanner 類別以便於從鍵盤讀取輸入。
  2. 主類別和主方法:
    public class Ch7_5 { public static void main(String[] args) { ... } } 是 Java 程式的入口。
  3. 變數宣告與初始化:
    宣告變數 target 和 guess。
    使用 Math.random() 產生一個 1 到 100 的隨機數並賦值給 target。
  4. do-while 迴圈:
    迴圈的主要功能是讓使用者反覆輸入猜測值,直到猜中目標數字為止。
  5. 判斷猜測結果:
    使用 if-else 判斷猜測的數字與目標數字之間的關係,並給出提示(數字太大或太小)。
  6. 結束迴圈:
    當猜中數字時,使用 break 跳出迴圈並打印猜中的數字。

2.增加語法、內容呈現

新增了一個 attempts 變數來記錄使用者的猜測次數,並在每次迴圈中遞增這個變數。最後列出出使用者總共猜了多少次。

import java.util.Scanner;

public class Ch7_5 {
public static void main(String[] args) {
int target, guess; // 宣告變數
int attempts = 0; // 記錄猜測次數
java.util.Scanner sc = new java.util.Scanner(System.in); // 建立 Scanner 物件
target = (int) (Math.random() * 100 + 1); // 產生1~100的隨機數字

    do { // 無條件迴圈
        System.out.print("請輸入猜測值 => ");
        guess = sc.nextInt(); // 取得整數
        attempts++; // 每猜一次,次數加一
        
        if (guess == target) {
            break; // 跳出迴圈
        }
        else {
            if (guess > target)
                System.out.println("數字太大!");
            else
                System.out.println("數字太小!");
        }
    } while (true);
    
    System.out.println("猜中數字: " + target);
    System.out.println("你一共猜了 " + attempts + " 次。");
}

}

此為簡單程式接下來可增加控制面板使得數字遊戲更精美!
—參考Java11學習手冊


上一篇
DAY6怎麼讓畫面變好看?創造圖形化界面!
下一篇
DAY8太初階?延伸前天的數字遊戲!
系列文
從0開始—初階程式語言學習者的必經之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言