我想运行一个catch块,但它一直说预计标识符。任何帮助将受到欢迎。这个方法的对象(它是一个主要的,所以我可以测试它)是获得一个整数的有效值。如果该值无效,则应循环直到输入有效数字。我试图用while循环来做这件事,然后try ... catch来修复任何异常。谢谢尝试catch块中的预期标识符
import javax.swing.JOptionPane;
import java.lang.Integer;
public class test
{
public static void main (String[] args) throws NumberFormatException
{
String input;
boolean x = false;
int number;
input = JOptionPane.showInputDialog("Enter an integer: "); //creates input box for user to enter integer value
number = Integer.parseInt(input);
try
{
while (number < -2147483648 && number > 2147483647)
{
x = false;
number = Integer.parseInt(input);
System.out.println("You selected: " + number)
}
}
catch (NumberFormatException e)
{
input = JOptionPane.showInputDialog("Enter a valid integer: ");
}
}
}
这回答了这个问题非常感谢。但是现在代码仍然混乱,并不像我希望的那样编译。任何提示/建议对我来说? (我不需要直接的答案,但帮助表示赞赏) – 2014-10-07 01:12:49
我不完全确定你的意思。代码混乱了吗?你发布的内容看起来并不混乱。代码要么编译,要么不编译。你的意思是它不符合你的期望? – dursk 2014-10-07 01:16:00
是的,这是更好的措辞。当我输入一个大于-2147483648的值和一个小于2147483647的数字时,我进入循环。这与我想要的相反。其次,当我输入一个不应该有效的数字时,我会遇到异常错误。 – 2014-10-07 01:36:26