在编写下面的代码时,我打算从键盘输入双精度值。如果输入不是双精度值,则将弹出一个对话框窗口再次强制输入。

boolean continueLoop=true;
    do
    {
        try
        {
            String firstNumber = JOptionPane.showInputDialog("Enter first floating-point value" );
            number1 = Double.parseDouble( firstNumber );
            continueLoop=false;
        }
        catch ( InputMismatchException inputMismatchException )
        {
            JOptionPane.showMessageDialog(null,"Please type in a valid, real number","Input Error",JOptionPane.PLAIN_MESSAGE);
        }
    }while ( continueLoop );


但是,当我输入无效数字时,对话框窗口将永远不会显示。怎么了?

最佳答案

您必须抓住NumberFormatException,在文档中查看Double#parseDouble

07-27 17:59