我在下面使用此函数来检查在文本框中输入的值,如果它在 try catch 条件下有效,则该函数应通过布尔变量返回 True。该程序已设置好,因此只有在这种情况下我的所有输入都返回正确或正确时才会进行最终计算。
我需要正常工作的是尝试返回,如果数字无效,函数应该停止并让用户再次尝试,我正在考虑类似 VB 的 Exit Sub。我的搜索出现了使用下面的返回值,但这只会导致错误,因为编译器认为我正在尝试返回函数结果。
这个功能还有一点点,但我把它删掉了,因为它无关紧要;它几乎只是bGarage = true;
and 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