Java猜數(shù)字小游戲之使用Scanner實現(xiàn)互動體驗
游戲規(guī)則
- 程序隨機(jī)生成一個 1-100 之間的整數(shù)
- 玩家通過鍵盤輸入數(shù)字進(jìn)行猜測
- 程序會提示猜測的數(shù)字是偏大還是偏小2. 核心邏輯設(shè)計
- 生成目標(biāo)隨機(jī)數(shù)
- 獲取用戶輸入
- 比較輸入與目標(biāo)數(shù),給出提示
- 記錄并統(tǒng)計猜測次數(shù)
- 猜對時結(jié)束游戲并顯示結(jié)果
- 直到
- 玩家猜中數(shù)字,游戲結(jié)束并顯示猜測次數(shù)
import java.util.Scanner; import java.util.Random; public class GuessNumberGame { public static void main(String[] args) { // 創(chuàng)建隨機(jī)數(shù)生成器和掃描器對象 Random random = new Random(); Scanner scanner = new Scanner(System.in); // 生成1-100之間的隨機(jī)數(shù) int targetNumber = random.nextInt(100) + 1; int guessCount = 0; int userGuess = 0; System.out.println("歡迎來到猜數(shù)字游戲!"); System.out.println("我已經(jīng)想好了一個1到100之間的數(shù)字"); System.out.println("請開始猜測吧~"); // 循環(huán)直到猜對為止 while (userGuess != targetNumber) { System.out.print("請輸入你猜的數(shù)字:"); // 檢查輸入是否為整數(shù) if (scanner.hasNextInt()) { userGuess = scanner.nextInt(); guessCount++; // 判斷猜測結(jié)果并給出提示 if (userGuess > targetNumber) { System.out.println("猜大了!再試試 smaller 的數(shù)字~"); } else if (userGuess < targetNumber) { System.out.println("猜小了!再試試 bigger 的數(shù)字~"); } else { System.out.println("恭喜你猜對了!"); System.out.println("答案就是:" + targetNumber); System.out.println("你一共猜了 " + guessCount + " 次"); } } else { System.out.println("請輸入有效的整數(shù)!"); scanner.next(); // 清除無效輸入 } } // 關(guān)閉掃描器 scanner.close(); }
代碼解析
隨機(jī)數(shù)生成:
java
運(yùn)行
int targetNumber = random.nextInt(100) + 1;
這段代碼生成 1-100 之間的隨機(jī)整數(shù),
nextInt(100)生成 0-99 的數(shù)字,加 1 后范圍變?yōu)?1-100。輸入處理:
java
運(yùn)行
if (scanner.hasNextInt()) { userGuess = scanner.nextInt(); // ... }使用
hasNextInt()檢查輸入是否為整數(shù),避免輸入非數(shù)字導(dǎo)致的程序錯誤。循環(huán)與判斷:
while循環(huán)確保游戲持續(xù)到猜對數(shù)字為止- 條件判斷
if-else結(jié)構(gòu)提供猜大 / 猜小的提示 guessCount變量記錄猜測次數(shù)
資源釋放:
java
運(yùn)行
scanner.close();
程序結(jié)束時關(guān)閉
Scanner對象,釋放相關(guān)資源。
游戲體驗優(yōu)化
這個基礎(chǔ)版本可以進(jìn)一步優(yōu)化:
- 增加難度選擇(如不同數(shù)字范圍)
- 添加歷史最高分記錄
- 實現(xiàn)多輪游戲功能
- 增加計時功能,計算猜中用時
總結(jié)
通過這個猜數(shù)字游戲,我們學(xué)習(xí)了:
Scanner類的基本用法,包括獲取輸入和驗證輸入類型Random類生成隨機(jī)數(shù)的方法- 循環(huán)控制和條件判斷的實際應(yīng)用
- 基本的用戶交互設(shè)計
這個小游戲雖然簡單,但涵蓋了 Java 編程的多個基礎(chǔ)知識點,適合初學(xué)者練習(xí)和擴(kuò)展。你可以嘗試在此基礎(chǔ)上添加更多功能,讓游戲更加豐富有趣!
在猜數(shù)字游戲代碼中添加異常處理機(jī)制
如何使用 Java 編寫一個圖形化的猜數(shù)字游戲?
提供一些用 Java 編寫的猜數(shù)字游戲的代碼示例
到此這篇關(guān)于Java猜數(shù)字小游戲之使用Scanner實現(xiàn)互動體驗的文章就介紹到這了,更多相關(guān)Java猜數(shù)字小游戲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot整合Shiro靜態(tài)資源攔截配置實踐
本文介紹了Spring?Boot整合Thymeleaf訪問resources目錄下static靜態(tài)資源的方法,并提供三種解決方式,方法一通過修改訪問路徑,方法二在yml文件中修改配置,方法三通過創(chuàng)建statics目錄并調(diào)整攔截配置來實現(xiàn)2026-05-05
SpringBoot如何使用Template請求http接口
在Spring?Boot中,如果你想要通過模板(template)的方式連接HTTP服務(wù),并發(fā)送HTTP請求,有幾種不同的方式可以實現(xiàn),但最直接和常用的方式之一是使用RestTemplate,這篇文章主要介紹了SpringBoot使用Template請求http接口,需要的朋友可以參考下2024-08-08
Red?Hat?安裝JDK與IntelliJ?IDEA的詳細(xì)過程
YUM是基于Red Hat的Linux發(fā)行版的一個強(qiáng)大而用戶友好的包管理工具,這篇文章主要介紹了Red?Hat安裝JDK與IntelliJ IDEA,需要的朋友可以參考下2023-08-08

