1

パネルにいくつかのボタンがあり、クリックするたびに入力ダイアログ ボックスが表示されます。組み込みのキャンセルボタンがあります。今、ダイアログ ボックスに数量を入力せずにコードの先頭にあるキャンセル ボタンをクリックすると、「これは無効な番号です」と表示されます。この行は、ユーザーがアルファベットまたは記号を入力した場合にのみ表示され、キャンセルを押した場合には表示されません。これを解決できますか?

4

3 に答える 3

2

Stringまず、 a が数値を表しているかどうかを判断する方法が必要です。以下の方法で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,"Enter the number?",
    "Number", JOptionPane.QUESTION_MESSAGE);        
if (Input.equals(""))
{
    JOptionPane.showMessageDialog(null,"This is an invalid number");
}

次のリンクはそれをさらによく説明しています: Simple Data Validation

于 2012-12-01T12:06:31.870 に答える
0

String Input = JOptionPane.showInputDialog(null,"数字を入力しますか?",
"Number", JOptionPane.QUESTION_MESSAGE);
if (Input.matches(("((-|\+)?[0-9]+(\.[0-9]+)?)+"))) { JOptionPane.showMessageDialog(null,"有効な数値" ); } else{ JOptionPane.showMessageDialog(null,"これは無効な番号です"); }

于 2012-12-03T05:19:41.130 に答える