0

以下のこの関数を使用して、テキストボックスに入力された値をチェックしています。それが try catch 基準の下で有効である場合、関数はブール変数を介して True を返す必要があります。この場合、すべての入力が OK または true として返された場合にのみ、最終的な計算が行われるようにプログラムが設定されています。

適切に動作させるために必要なのは、試行の戻り値です。数値が有効でない場合、関数は停止し、ユーザーに再試行させる必要があります。VB からの Exit Sub のようなものを考えています。私の検索では、以下のようにリターンを使用するようになりましたが、コンパイラは関数の結果を返そうとしていると見なすため、エラーが発生するだけです。

関数にはもう少しありますが、無関係なので省略します。bGarage = true;とだけreturn bGarage;です。

public boolean fnGarageLevel() {//Beginning of Garage Validation Function

    int nGarage;
    boolean bGarage;

    try {//Garage Number Validation Try

        nGarage = Integer.parseInt(tfGarage.getText());

     if (nGarage != 1 || nGarage != 2 || nGarage != 3 || nGarage != 4) {

            JOptionPane.showMessageDialog( null,
                     "Enter a valid Garage Level, 1, 2, 3 or 4",
                     "Error",
                     JOptionPane.ERROR_MESSAGE);

                     tfGarage.setText("");
                     tfGarage.grabFocus();
                     return;

            }//End of Error Message

    }//End of try

    catch (NumberFormatException nfe) {//Beginning of Catch

        JOptionPane.showMessageDialog(null,
                        "Value Entered for Garage is not a Number",
                        "Error",
                        JOptionPane.ERROR_MESSAGE);

        tfGarage.setText("");
        tfGarage.grabFocus();

    }//End of Catch for Garage field

    bGarage = true;
    return bGarage;

}//End of Garage Function
4

1 に答える 1