[英]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.