如何确保用户输入数字?

时间:2014-12-25 13:51:35

标签: java string integer joptionpane

我想确保用户输入的数据不是字符串,如果它显示消息!

String number = JOptionPane.showInputDialog("Enter a number : ",null);

这里有关于我正在做什么的更多信息

                String guess = JOptionPane.showInputDialog("Enter Your Guess Number : ",null);
                if((Integer.parseInt(guess) < 1))
                {
                 JOptionPane.showMessageDialog(null,"Enter a number Greater than 0!");
                       JOptionPane.showMessageDialog(null, "you won 1,000 $", "winner!"
                            , JOptionPane.INFORMATION_MESSAGE);
                }

3 个答案:

答案 0 :(得分:2)

您可以通过解析用户输入的值来实现它,如果它不是有效数字,则使用JOptionPane.showMessageDialog显示错误对话框。 E.g。

String number = JOptionPane.showInputDialog("Enter a number : ",null);
boolean isValidNumber = false;
try {
    System.out.println(Integer.parseInt(number));
    isValidNumber  = true;
} catch (NumberFormatException e) {
    JOptionPane.showMessageDialog(new JPanel(), "Invalid number", "Error", JOptionPane.ERROR_MESSAGE);
}

答案 1 :(得分:2)

如果你期望一个整数,那就应该这样做

boolean isInteger = false;
try {
    int foo = Integer.parseInt(number);
    isInteger = true;
} catch (NumberFormatException) {
    // it's not a integer, handle the exception
}

答案 2 :(得分:1)

另一种方法是在关闭选项窗格之前验证输入的值是否为数字。

阅读Stopping Automatic Dialog Closing上Swing教程中的部分,了解一种方法,可以在关闭对话框之前验证输入的文本。