您現在的位置是:首頁 > 手機遊戲首頁手機遊戲

JAVA語言基礎例項講解:猜數字遊戲

  • 由 小裕老師愛程式設計 發表于 手機遊戲
  • 2022-12-13
簡介util包下的Scanner類步驟三:使用do-while迴圈,提示使用者進行猜測,並呼叫Scanner類的nextInt方法接收使用者錄入的數字,然後判斷使用者所猜測的數字是否與結果相同:只要猜測不正確,則迴圈繼續

猜數字遊戲怎麼設定猜的次數

在前述文章中,我們介紹到了JAVA語言的邏輯結構,分為順序結構、分支結構、迴圈結構。顧名思義,順序結構從上往下依次執行,按步驟一步一步執行即可,相對簡單。所以我們沒有過多的去講解順序結構。重點介紹的分支結構和迴圈結構。並且在上一篇文章中透過收銀臺收款系統對if以及if-else語句的使用做了練習。那麼今天的文章,我們就結合前述文章對迴圈結構的介紹,透過編寫“猜數字遊戲”這一案例,加深一下迴圈結構知識點在實際操作中的運用。

問題

猜數字遊戲,其遊戲規則為:程式設定一個1到1000之間的數字作為猜測的結果,由使用者猜測此數字。使用者每猜測一次,由系統提示猜測結果:大了、小了、猜對了;直到使用者猜對結果,則提示遊戲結束。使用者可以提前退出遊戲,即遊戲過程中,如果使用者錄入數字0,則遊戲終止。遊戲的互動過程如下:

遊戲剛開始,即提示使用者在控制檯錄入所猜測的數字,互動過程如圖:

JAVA語言基礎例項講解:猜數字遊戲

圖一

使用者錄入所猜測的數字後,程式進行判斷:如果使用者所猜測的數字大於結果,則提示“太大了”,如果使用者所猜測的數字小於結果則提示“太小了”,每次提示結果後,並提醒使用者繼續猜測,互動過程如下:

JAVA語言基礎例項講解:猜數字遊戲

圖二

如果使用者猜測正確,則由系統提示“恭喜,猜對了!”遊戲結束,互動過程如圖:

JAVA語言基礎例項講解:猜數字遊戲

圖三

如果使用者希望提前退出遊戲,則可以錄入數字0,遊戲結束,互動過程如圖:

JAVA語言基礎例項講解:猜數字遊戲

圖四

方案

首先,在此案例中,需要產生一個1到1000之間的隨機整數,該數值就是使用者要猜測的結果;然後提示使用者進行一次猜測,並得到使用者從介面所錄入的數字。

因為猜測的次數不確定,則使用while迴圈來構建猜測的過程:判斷使用者所猜測的數字是否與結果相同,只要猜測不正確,則迴圈繼續。每次迴圈中,首先判斷使用者錄入的數字是否為0,如果是,則使用break退出迴圈;否則,根據比較結果輸出提示資訊(“太大了”或者“太小了”)並提示使用者繼續下一次猜測。

如果使用者猜測正確或者錄入數字0,則while迴圈結束。迴圈結束後,需要判斷使用者最後一次所錄入的數字,如果猜測正確,則提示使用者“恭喜,您猜對了!”如果使用者錄入的數字為0,則提示使用者“真遺憾,下次再挑戰吧!”然後結束程式。程式流程圖如下

JAVA語言基礎例項講解:猜數字遊戲

圖五 while迴圈流程

步驟

:實現此案例按如下步驟進行

步驟一:定義類及main方法

首先定義一個名為numberGuess的類,並在類中新增main方法,程式碼如圖六步驟一

步驟二:讀取第一次猜測結果

在main方法中,提示使用者錄入所猜測的數字,作為第一次猜測;然後例項化Scanner類,並呼叫Scanner類的nextInt方法接收使用者從控制檯輸入的數字。程式碼如圖六步驟二

注意此步驟中,需要匯入java。util包下的Scanner類。

步驟三:構建迴圈

使用while迴圈,判斷使用者所猜測的數字是否與結果相同:只要猜測不正確,則迴圈繼續。每次迴圈中。需要使用if-else 結構判斷使用者所錄入的數字。首先判斷錄入的數字是否為0,如果為0,表示使用者希望退出遊戲,則使用break退出迴圈;然後比較猜測的數字與實際數字的大小,並根據比較結果輸出資訊(“太大了”或者“太小了”),然後提示使用者繼續下一次猜測,並呼叫Scanner類的nextInt方法,接收使用者輸入的數字,程式碼如圖六步驟三

步驟四:遊戲結束

如果使用者猜測正確或者錄入數字0中止遊戲,則while迴圈結束。在while迴圈結束後,需要判斷使用者最後一次錄入的數字,如果猜測正確,則提示使用者“恭喜,您猜對了!”如果錄入的數字為0,則提示使用者“真遺憾,下次再挑戰吧!”最後將Scanner物件關閉。程式碼如圖六步驟四

JAVA語言基礎例項講解:猜數字遊戲

圖六

在上述案例中我們用到的是while語句實現的猜數字遊戲,那麼能否將while語句實現的猜數字遊戲,變換成使用do-while語句來實現呢?答案是可以的,那麼我們看一下方案。

此案例的實現方案與之前的案例相似。

首先,在案例中,需要產生一個1到1000之間的隨機整數,該數值就是使用者要猜測的結果,提示使用者進行第一次猜測,並得到使用者從介面所錄入的數字。

因為猜測的次數不確定,則使用do-while迴圈來構建猜測的過程:判斷使用者所猜測的數字是否與結果相同,只要猜測不正確,則迴圈繼續。每次迴圈中,首先判斷使用者錄入的數字是否為0。如果是則使用break退出迴圈,否則根據比較結果輸出資訊,並提示使用者進行下一步操作。

如果使用者猜測正確或者錄入數字為0,則迴圈結束,迴圈結束後,需要判斷使用者最後一次所錄入的數字如果猜測正確,則提示使用者“恭喜,您猜對了”,如果錄入數字為0,則提示使用者“真遺憾,下次再挑戰吧”,然後程式結束。流程圖如下

JAVA語言基礎例項講解:猜數字遊戲

圖七

步驟

步驟一:

首先定義一個numberGuess類,並在類中新增java應用程式的主方法main,如圖八步驟一

步驟二:

準備錄入。在main方法中,生成一個隨機數作為猜測結果,然後例項化Scanner類,用於接收使用者從控制檯輸入的數字,還要宣告變數用於儲存使用者所錄入的數字。如圖八步驟二

此步驟中,需要匯入java。util包下的Scanner類

步驟三:

使用do-while迴圈,提示使用者進行猜測,並呼叫Scanner類的nextInt方法接收使用者錄入的數字,然後判斷使用者所猜測的數字是否與結果相同:只要猜測不正確,則迴圈繼續。如圖八步驟三

每次迴圈中,需要使用if-else結構判斷使用者錄入的數字。首先,判斷錄入的數字是否為0,如果為0,表示使用者希望推出遊戲,則使用break推出迴圈;然後比較猜測數字和實際數字的大小。並根據比較結果輸出提示資訊(太大了或太小了)

步驟四:

如果使用者猜測正確或者錄入數字為0中止遊戲,則迴圈結束。在迴圈結束後,需要判斷使用者最後一次所錄入的數字,如果猜測正確,則提示使用者“恭喜,您猜對了!”,如果錄入的數字為0,則提示使用者“真遺憾,下次再挑戰吧”。最後將scanner物件關閉,結束程式。如圖八步驟四

JAVA語言基礎例項講解:猜數字遊戲

圖八

以上是用迴圈結構中while迴圈和do-while迴圈編寫完成的猜數字遊戲。圖六和圖八分別為兩種迴圈語句的完整程式碼,可參考。

Top