Java while循环问题

标签 java loops while-loop

我是 java 的新手,我正在编写这个简短的程序,您可以在其中猜测 1 到 10 之间的数字。正确的数字存储为整数。如果你猜的数字较小,它应该说“正确的数字较高”,如果你猜的数字较高,它应该说“正确的数字较低”。这是我拥有的:

    import javax.swing.*;

public class Oppg3 {
    public static void main(String[] args) {
        int number = 7;
        int guessed = Integer.parseInt(JOptionPane.showInputDialog("Guess a number between 1 and 10"));
        while(guessed>number) guessed = Integer.parseInt(JOptionPane.showInputDialog(guessed + " is wrong. Try a lower number."));
        while(guessed<number) guessed = Integer.parseInt(JOptionPane.showInputDialog(guessed + " is wrong. Try a higher number."));
        JOptionPane.showMessageDialog(null, guessed + " is correct!");

    }

}

很明显,这是行不通的,因为如果您输入一个较小的数字,它会跳到下一个数字,即使输入的数字较大,也会显示为正确。那么我该如何解决这个问题,以便它检查这两个语句呢?抱歉不好解释。谢谢。

最佳答案

最简单的解决方案是将当前的 while 替换为 if,并将它们都包含在一个

while(guessed!=number)
{
    if(guessed>number) //stuff
    if(guessd<number) //otherstuff
}

关于Java while循环问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12460543/

相关文章:

java - 无法从 double 转换为类

javascript - 在不使用 for...of 的情况下正确使用迭代器

java - 为什么Java进程在多个循环中运行时速度会变慢?

python - 循环不适用于多处理和 sleep

java - 如何通过反射获取函数的java类型注释

java - 在异步线程中解析时出现 fatal error (AsyncTask.doInBackground())

java - 选定的 Activity 模板需要现有的应用程序主题

javascript - 添加数组元素Javascript

javascript shift() 奇怪的递归与返回

计算c中一个段落中的句子数