import java.util.Scanner;public class Test { public static void main(String[] args) { int guessTime = 8; boolean restart = true; while (restart) { System.out.println("請選擇下列選項!"); System.out.println("1 ----開始猜數"); System.out.println("2 ----游戲參數設置"); System.out.println("9 ----退出"); boolean flag = true; String choose = null; Scanner in = null; while (flag) { in = new Scanner(System.in); choose = in.next(); if (!choose.matches("[129]")) { System.out.println("輸入錯誤,請重新輸入"); continue; } else { break; } } if ("2".equals(choose)) { boolean chooseLevel = false; System.out.println("請選擇游戲難度!"); System.out.println("1 ----難(4次)"); System.out.println("2 ----一般(6次)"); System.out.println("3 ----容易(8次)"); while (!chooseLevel) { String s = in.next(); if (s.matches("[123]")) { switch (Integer.parseInt(s)) { case 1: guessTime = 4; chooseLevel = true; break; case 2: guessTime = 6; chooseLevel = true; break; case 3: guessTime = 8; chooseLevel = true; break; default: System.out.println("你輸入的選擇不存在(請輸入1、2、3)"); break; } } else { System.out.println("你輸入的選擇不存在(請輸入1、2、3)"); } } continue; } if ("9".equals(choose)) { System.exit(0); } if ("1".equals(choose)) { String number = String.valueOf(Math.round(Math.random() * 100) + 1); System.out.println(number); boolean getIt = false; int count = 0; while (!getIt && ++count <= guessTime) { System.out.println("請輸入你猜的值(1-100)"); String s = in.next(); if (s.matches("\\d+")) { try { if (Integer.parseInt(s) == Integer.parseInt(number)) { getIt = true; break; } else if (Integer.parseInt(s) > Integer.parseInt(number)) { System.out.println("你輸入的數字大了!"); } else { System.out.println("你輸入的數字小了!"); } } catch (NumberFormatException e) { System.out.println("你輸入的數據超過Integer的最大范圍!"); continue; } } else { System.out.println("你輸入的數據不合法!"); continue; } } if (getIt) { System.out.println("恭喜你猜對了,你的戰斗力是" + Math.round((1 - count * 1.0 / guessTime) * 100) + "%"); } else { System.out.println("超過次數,尚需努力"); } in.nextLine(); in.nextLine(); } } }}這是詳細代碼,建議樓主多加研習,修成正果~~