我是 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/