好吧,我知道这个以前有人问过,但我就是想不出哪里出了问题。以下是我的说明:
“编写一个程序,生成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++;
}
}
html" target="_blank">while (guess == rnumber)
{
guesses++;
JOptionPane.showMessageDialog(null,"Congratulations! The correct " +
"number is " + rnumber + ",and you had" + guesses + "guesses.");
}
System.exit(0);
}
}
首先,将while(gues==rnumber){
更改为if(gues==rnumber){
,以便它只执行一次。
至于问题的答案,您需要设置guest和answer。
我建议在控制台中这样做,将answer设置为java.util.scanner.nextline();
,然后将guest设置为相同的内容。在JoptionPanes上这样做并不容易。
我在做一个数字猜谜游戏: 计算机在间隔内生成一个数字 我试着猜测它,并收到一个回复,不管它是高于/低于我的猜测,还是等于我的猜测,我赢了 有一个可以猜测的间隔,还有一个猜测尝试限制
我的程序应该要求用户猜测 0 到 100 之间的数字,但我似乎无法正确输出。目前,如果用户数大于随机数,它会打印出无限数量的“您的数字太高”。此外,如果第一个 UserGuess 很低,那么以下所有数字都将具有相同的提示:(“您的数字太低”),尽管它们实际上大于随机数。我不知道我做错了什么。任何帮助将不胜感激。谢谢!
我想做一个简单的猜谜游戏,电脑应该猜出我在0和100之间选择的数字。尝试运行它,如果数字太低按1,如果数字太高按2。 1.如果我选择50,计算机猜测41,我按1,因为数字太低了 是55吗?2 是26吗?1 是35吗?1 是97吗?2
Java,Net beans 8.2 } 输入你的猜测(0退出):20你的猜测太低了
编写程序生成一个1-100之间的随机数,并将其作为秘密数字保存。然后程序将检查用户是否能猜出秘密号码。用户可以继续猜测数字,直到找到数字或者用户可以输入0,这将终止程序。 null 我被if语句卡住了,也许我的结构不正确。我不确定。