[英]Java Random number guessing game with dialog box
好的,我知道之前已經有人問過這個問題,但是我無法弄清楚出了什么問題。 這是我的指示:
“編寫一個程序,生成一個介於1和1000之間(含1和1000)的隨機數。然后讓用戶猜測該數字是多少。如果用戶的猜測高於該隨機數,則該程序應顯示“太大,請重試。”如果如果用戶的猜測低於隨機數,則程序應顯示“太低,再試一次”。程序應使用重復的循環,直到用戶正確猜測隨機數為止。
另外,請保留用戶做出的猜測數量。 當用戶正確猜測隨機數時,程序應顯示猜測數。 輸入和輸出應通過對話框和消息框完成。 ”
我整周都在努力閱讀,這是我的第二次化身。 我正從所有閱讀中扭過頭來。 我得到它要求在對話框中輸入一個數字,然后什么也沒有。 我缺少什么讓循環繼續下去? 請說明原因和原因。 在此先感謝您的關注。
import java.util.Scanner; // Needed for the Scanner class.
import java.util.Random; // Needed for the Random class.
import javax.swing.JOptionPane; // Needed for JOptionPane.
/**
This program generates a random number guessing game.
*/
public class GuessingNumbersGame
{
public static void main(String[] args)
{
// Create an object and assign a whole random number
// from 1 to 1000 to it.
int rnumber;`
Random randomNumbers = new Random();
rnumber = randomNumbers.nextInt(1000) + 1;
// Ask the user to guess the random number.
String answer;
int guess;
answer = JOptionPane.showInputDialog("Enter a whole " +
"number between 1 and 1000.");
guess = Integer.parseInt(answer);
int guesses;
guesses = 0;
// Create a loop of user guesses versus the random number
// until the user answers correctly and keep track of the
// number of times the user guesses.
while (guess != rnumber);
{
if (guess > rnumber)
{
JOptionPane.showMessageDialog(null,"Too high, try again.");
guess = Integer.parseInt(answer);
guesses++;
}
if (guess < rnumber)
{
JOptionPane.showMessageDialog(null,"Too low, try again.");
guesses++;
}
}
while (guess == rnumber)
{
guesses++;
JOptionPane.showMessageDialog(null,"Congratulations! The correct " +
"number is " + rnumber + ",and you had" + guesses + "guesses.");
}
System.exit(0);
}
}
首先,將while (guess == rnumber) {
更改為if(guess == rnumber) {
,使其僅執行一次。
至於問題的答案,您需要設置猜測和答案。
我建議在控制台中執行此操作,這將設置對java.util.Scanner.nextLine();
答案java.util.Scanner.nextLine();
然后猜測是一樣的。 在JOptionPanes上做起來不是很容易。
您的程序構造不正確。 您被要求編寫的簡單算法的實現幾乎沒有什么重要問題。 可以用這種方式來表示(這里是一些偽代碼):
begin
guess <- 0
guesses <- 0
randnum <- new random number [1,1000]
do
guess <- ask user input
guesses++
if guess > randnum
show "Too high"
if guess < randnum
show "Too low"
while guess != randnum
congrats // guess = randnum
show number of guesses
end
您的代碼看起來不是這樣。 檢查您的if語句,條件和循環。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.