我如何使对话框出现在我放的提示?

  • 本文关键字:提示 何使 对话框 java
  • 更新时间 :
  • 英文 :


我一直在做java编程课的作业,需要帮助。

任务:

编写一个程序播放" Guess the number "

-你的程序通过在1到1000的范围内选择一个随机整数来选择要猜的数字。

-应用程序显示提示"猜测1到1000之间的数字。">

-玩家输入第一个猜测。如果猜错了,你的程序应该显示"太高,再试一次"或"太低,再试一次">

-程序应该提示用户下一次猜测。

-当用户输入正确答案时,显示"恭喜你猜对了数字"和猜对的次数,并允许用户重新播放或退出。

-为了调试的目的显示你的号码。

-使用对话框进行输入和输出。

import java.util.Scanner;        
import java.util.Random;         
import javax.swing.JOptionPane;
class NumberGuess{
public static void main( String [] arg){
int randNum = (int)(Math.random() * 1000 + 1);
String getGuess = JOptionPane.showInputDialog("Enter a number 
between 1-1000nn");
int guess = Integer.parseInt(getGuess);
int guesses;
guesses = 0;
String response;
while (guess != randNum);

if (guess > randNum)
{
JOptionPane.showInputDialog(null,"Too high, try again.");
guess = Integer.parseInt(getGuess);
guesses++;
}            
if (guess < randNum)
{                         
JOptionPane.showInputDialog(null,"Too low, try again.");
guesses++;
}  
if (guess == randNum){
guesses++;
JOptionPane.showMessageDialog(null,"Congratulations! The 
correct " + "number is " + randNum + ",and you had" + guesses 
+ "guess.");
}
System.exit(0);
}
}

代码只显示输入1-1000之间的数字对话框,而不显示其他三个对话框。即使我放了JOptionPane,这个框也不会显示。showMessageDialog而不是JOptionPane。showInputDialog,它会显示相同的东西。我困在这部分和不知道如何让其他三个对话框出现。

我在"猜";你需要审查while循环和延伸的循环。

你贴出来的代码根本无法编译。在清除了所有语法错误之后,我测试了一遍又一遍,以找到所有的逻辑错误(我希望)。

我也在"猜测"。你写的所有代码都没有运行一个测试。通常,您应该编写一小段代码,然后进行测试。当代码中断时,问题很可能出在您添加的那一小部分代码中。你可以专注于程序的一小部分,而不是整个程序。

阅读博客文章,如何调试小程序。它将教会你如何思考发现逻辑错误。

我清理了你的where循环并添加了缺失的代码行。您无法在where子句中测试是否相等,因为您永远不会执行信息对话框。在显示信息对话框后,我将测试替换为布尔值,并将其设置为false。我是怎么发现这个逻辑错误的?测试。

我添加了一个do-while循环来询问用户是否想要再次播放。

是完整的可运行代码。我希望你能从中学到一些东西。我知道你们不会把我的代码作为作业上交因为你们需要解释为什么我做了一些事情。我们都知道你不想被人这样为难。

import javax.swing.JOptionPane;
public class NumberGuess {
public static void main(String[] arg) {
do {
int randNum = (int) (Math.random() * 1000 + 1);
int guess = getGuess("Enter a number between 1 - 1000");
int guesses = 0;
boolean running = true;

while (running) {
guesses++;
if (guess > randNum) {
guess = getGuess("Too high, try again.");
} else if (guess < randNum) {
guess = getGuess("Too low, try again.");
} else {
showCongratulations(randNum, guesses);
running = false;
}
} 
} while (playAgain() == JOptionPane.OK_OPTION);

System.exit(0);
}
private static int getGuess(String prompt) {
String getGuess = JOptionPane.showInputDialog(null, prompt);
if (getGuess == null) {
System.exit(0);
}
return Integer.parseInt(getGuess.trim());
}

private static void showCongratulations(int randNum, int guesses) {
JOptionPane.showMessageDialog(null, "Congratulations! The " 
+ "correct number is " + randNum
+ ", and you took " + guesses + " guesses.");
}

private static int playAgain() {
return JOptionPane.showConfirmDialog(null, "Would you like to play again?");
}
}

最新更新