当我输入介于-2147483648和2147483647之间的值时,程序关闭并且不显示像我写的那样的有效数字。如果我在范围之外输入一个数字,它应该输入一个while循环,直到我输入范围之间的有效数字。然而,当我在范围之外输入一个数字时,它只是显示一个异常错误,这就是为什么我把第一名放在那里的原因。尝试捕获,循环并显示信息失败
我已经尝试过这个问题几个小时了,我还是比较新的编码(第二类),所以我很抱歉,如果这已被回答以前。我查了很多旧的答案,并试图用它作为我的代码的模型。然而,这是我得到的。
import javax.swing.JOptionPane;
public class test
{
public static void main (String[] args) throws NumberFormatException
{
String input;
boolean x;
int number;
while (x = false)
{
try
{
input = JOptionPane.showInputDialog("Enter an integer: "); //creates input box for user to enter integer value
number = Integer.parseInt(input);
if (number < -2147483648 && number > 2147483647)
x = false;
else
{
x = true;
System.out.println("You entered: " + number);
}
break;
}
catch (NumberFormatException e)
{
continue;
}
}
}
}
'='和'=='有什么区别? – 2014-10-07 02:14:51
它应该只是(!x)... – StackFlowed 2014-10-07 02:15:48
布尔x;尚未初始化?!! – 2014-10-07 02:22:57