1

我的面板上有几个按钮,每次单击它都会出现一个输入对话框。它有一个内置的取消按钮。现在,当我单击代码开头的取消按钮而不在对话框中输入数量时,它会显示“这是一个无效的”数字。此行仅在用户输入字母或符号时才会出现,而不是在按下取消时出现。我们能解决这个问题吗?

4

3 回答 3

2

首先,您需要一种方法来确定 a 是否String代表数字;下面的方法Double.valueOf()用来决定。

private Double valueOf(String s) {
    try {
        return Double.valueOf(s);
    } catch (NumberFormatException e) {
        return null;
    }
}

这是一个如何使用该方法的示例:

private void display() {
    String input = JOptionPane.showInputDialog(
        null, "Enter a number?", "Number", JOptionPane.QUESTION_MESSAGE);
    Double value = valueOf(input);
    JOptionPane.showMessageDialog(null, "The value " + input
        + " is " + (value != null ? "valid" : "invalid") + ".");
}

另请参阅如何制作对话框

于 2012-12-01T12:59:53.333 回答
0

String Input = JOptionPane.showInputDialog(null,"输入数字?",
"数字", JOptionPane.QUESTION_MESSAGE);
if (Input.matches(("((-|\+)?[0-9]+(\.[0-9]+)?)+"))) { JOptionPane.showMessageDialog(null,"有效数字" ); } else{ JOptionPane.showMessageDialog(null,"这是一个无效的数字"); }

于 2012-12-03T05:19:41.130 回答
0

尝试做,

String Input = JOptionPane.showInputDialog(null,"Enter the number?",
    "Number", JOptionPane.QUESTION_MESSAGE);        
if (Input.equals(""))
{
    JOptionPane.showMessageDialog(null,"This is an invalid number");
}

以下链接对此进行了更好的解释:简单数据验证

于 2012-12-01T12:06:31.870 回答