try catch块中预期的标识符

时间:2014-10-07 00:44:40

标签: java exception try-catch

我正在尝试运行一个catch块,但它一直在说是一个标识符。欢迎任何帮助。这个方法的对象(它是一个主要的,所以我可以测试它)是获得一个有效的整数值。如果该值无效,则应循环直到输入有效数字。我尝试使用while循环执行此操作,并尝试使用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: ");
        }


    }

}

2 个答案:

答案 0 :(得分:3)

您没有在NumberFormatException声明中为catch定义名称(标识符)。

你需要:

catch (NumberFormatException e)
{
    ...
}

答案 1 :(得分:0)

关于您的号码问题: 数字&lt; -2147483648&amp;&amp;数字&gt; 2147483647 那些是整数的最小值和最大值,所以也许使用long类型而不是int会有所帮助。