以下のこの関数を使用して、テキストボックスに入力された値をチェックしています。それが 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