Java 为什么不是';你难道不想抓住机会吗?

Java 为什么不是';你难道不想抓住机会吗?,java,try-catch,Java,Try Catch,我正在尝试制作一个程序,告诉人们他们是否能坐过山车。只要输入有效,它就可以工作,但我希望它显示一条消息,说明如果用户输入其他内容,请重试。我尝试使用try-and-catch,但仍然显示错误(NumberFormat异常)。谢谢你的帮助 private void btnCalculateActionPerformed(java.awt.event.ActionEvent evt) { String

我正在尝试制作一个程序,告诉人们他们是否能坐过山车。只要输入有效,它就可以工作,但我希望它显示一条消息,说明如果用户输入其他内容,请重试。我尝试使用try-and-catch,但仍然显示错误(NumberFormat异常)。谢谢你的帮助

private void btnCalculateActionPerformed(java.awt.event.ActionEvent evt) {                                             
    String strHeight, strBackTrouble, strHeartTrouble;
    int intHeight;

    strHeight = txtInputHeight.getText();
    strBackTrouble = txtInputBackTrouble.getText();
    strHeartTrouble = txtInputHeartTrouble.getText();

    intHeight = Integer.parseInt(strHeight);

    try {
        if (intHeight < 188 || intHeight > 122) {
            if (strBackTrouble.equals("N") || strBackTrouble.equals("n") || strHeartTrouble.equals("N") || strHeartTrouble.equals("n")) {
                    txtOutput.setText("It is OK for you to ride this roller coaster. Have fun!");
            }
        } else  if (strBackTrouble.equals("Y") || strBackTrouble.equals("y") || strHeartTrouble.equals("Y") || strHeartTrouble.equals("y")) {
                txtOutput.setText("Sorry, it is not safe for you to ride this rollercoaster");
            }

    } catch (Exception e) {
        txtOutput.setText("You entered invalid input, please try again");
    }

}                 
private void btnCalculateActionPerformed(java.awt.event.ActionEvent evt){
字符串strHeight、strBackTrouble、strHeartTrouble;
内光;
strHeight=txtInputHeight.getText();
strBackTrouble=txtInputBackTrouble.getText();
strHeartTrouble=txtInputHeartTrouble.getText();
intHeight=Integer.parseInt(strHeight);
试一试{
如果(八度<188 | |八度>122){
如果(strBackTrouble.equals(“N”)| | strBackTrouble.equals(“N”)| | strHeartTrouble.equals(“N”)| | strHeartTrouble.equals(“N”)){
setText(“你可以坐这个过山车,玩得开心!”);
}
}else if(strBackTrouble.equals(“Y”)| | strBackTrouble.equals(“Y”)| | strHeartTrouble.equals(“Y”)| | strHeartTrouble.equals(“Y”)){
setText(“对不起,坐这种过山车不安全”);
}
}捕获(例外e){
setText(“您输入的输入无效,请重试”);
}
}                 
抛出不在catch块中的异常

try {
    intHeight = Integer.parseInt(strHeight);
    if (intHeight < 188 || intHeight > 122) {
        if (strBackTrouble.equals("N") || strBackTrouble.equals("n") || strHeartTrouble.equals("N") || strHeartTrouble.equals("n")) {
                txtOutput.setText("It is OK for you to ride this roller coaster. Have fun!");
        }
    } else  if (strBackTrouble.equals("Y") || strBackTrouble.equals("y") || strHeartTrouble.equals("Y") || strHeartTrouble.equals("y")) {
            txtOutput.setText("Sorry, it is not safe for you to ride this rollercoaster");
        }

} 
catch(NumberFormatException e) {
    txtOutput.setText("You entered invalid number, please try again");
}
catch( Exception e) {
    txtOutput.setText("You entered invalid input, please try again");
}
抛出不在catch块中的异常。

try{
try {
    intHeight = Integer.parseInt(strHeight);
    if (intHeight < 188 || intHeight > 122) {
        if (strBackTrouble.equals("N") || strBackTrouble.equals("n") || strHeartTrouble.equals("N") || strHeartTrouble.equals("n")) {
                txtOutput.setText("It is OK for you to ride this roller coaster. Have fun!");
        }
    } else  if (strBackTrouble.equals("Y") || strBackTrouble.equals("y") || strHeartTrouble.equals("Y") || strHeartTrouble.equals("y")) {
            txtOutput.setText("Sorry, it is not safe for you to ride this rollercoaster");
        }

} 
catch(NumberFormatException e) {
    txtOutput.setText("You entered invalid number, please try again");
}
catch( Exception e) {
    txtOutput.setText("You entered invalid input, please try again");
}
intHeight=Integer.parseInt(strHeight); 如果(八度<188 | |八度>122){ 如果(strBackTrouble.equals(“N”)| | strBackTrouble.equals(“N”)| | strHeartTrouble.equals(“N”)| | strHeartTrouble.equals(“N”)){ setText(“你可以坐这个过山车,玩得开心!”); } }else if(strBackTrouble.equals(“Y”)| | strBackTrouble.equals(“Y”)| | strHeartTrouble.equals(“Y”)| | strHeartTrouble.equals(“Y”)){ setText(“对不起,坐这种过山车不安全”); } } 捕获(数字格式){ setText(“您输入的数字无效,请重试”); } 捕获(例外e){ setText(“您输入的输入无效,请重试”); }
java 7:

try {
    intHeight = Integer.parseInt(strHeight);
    if (intHeight < 188 || intHeight > 122) {
        if (strBackTrouble.equals("N") || strBackTrouble.equals("n") || strHeartTrouble.equals("N") || strHeartTrouble.equals("n")) {
                txtOutput.setText("It is OK for you to ride this roller coaster. Have fun!");
        }
    } else  if (strBackTrouble.equals("Y") || strBackTrouble.equals("y") || strHeartTrouble.equals("Y") || strHeartTrouble.equals("y")) {
            txtOutput.setText("Sorry, it is not safe for you to ride this rollercoaster");
        }

} catch (NumberFormatException e | Exception e) {
    txtOutput.setText("You entered invalid input, please try again");
}
试试看{
intHeight=Integer.parseInt(strHeight);
如果(八度<188 | |八度>122){
如果(strBackTrouble.equals(“N”)| | strBackTrouble.equals(“N”)| | strHeartTrouble.equals(“N”)| | strHeartTrouble.equals(“N”)){
setText(“你可以坐这个过山车,玩得开心!”);
}
}else if(strBackTrouble.equals(“Y”)| | strBackTrouble.equals(“Y”)| | strHeartTrouble.equals(“Y”)| | strHeartTrouble.equals(“Y”)){
setText(“对不起,坐这种过山车不安全”);
}
}捕获(数字格式异常e |异常e){
setText(“您输入的输入无效,请重试”);
}
试试看{
intHeight=Integer.parseInt(strHeight);
如果(八度<188 | |八度>122){
如果(strBackTrouble.equals(“N”)| | strBackTrouble.equals(“N”)| | strHeartTrouble.equals(“N”)| | strHeartTrouble.equals(“N”)){
setText(“你可以坐这个过山车,玩得开心!”);
}
}else if(strBackTrouble.equals(“Y”)| | strBackTrouble.equals(“Y”)| | strHeartTrouble.equals(“Y”)| | strHeartTrouble.equals(“Y”)){
setText(“对不起,坐这种过山车不安全”);
}
} 
捕获(数字格式){
setText(“您输入的数字无效,请重试”);
}
捕获(例外e){
setText(“您输入的输入无效,请重试”);
}
java 7:

try {
    intHeight = Integer.parseInt(strHeight);
    if (intHeight < 188 || intHeight > 122) {
        if (strBackTrouble.equals("N") || strBackTrouble.equals("n") || strHeartTrouble.equals("N") || strHeartTrouble.equals("n")) {
                txtOutput.setText("It is OK for you to ride this roller coaster. Have fun!");
        }
    } else  if (strBackTrouble.equals("Y") || strBackTrouble.equals("y") || strHeartTrouble.equals("Y") || strHeartTrouble.equals("y")) {
            txtOutput.setText("Sorry, it is not safe for you to ride this rollercoaster");
        }

} catch (NumberFormatException e | Exception e) {
    txtOutput.setText("You entered invalid input, please try again");
}
试试看{
intHeight=Integer.parseInt(strHeight);
如果(八度<188 | |八度>122){
如果(strBackTrouble.equals(“N”)| | strBackTrouble.equals(“N”)| | strHeartTrouble.equals(“N”)| | strHeartTrouble.equals(“N”)){
setText(“你可以坐这个过山车,玩得开心!”);
}
}else if(strBackTrouble.equals(“Y”)| | strBackTrouble.equals(“Y”)| | strHeartTrouble.equals(“Y”)| | strHeartTrouble.equals(“Y”)){
setText(“对不起,坐这种过山车不安全”);
}
}捕获(数字格式异常e |异常e){
setText(“您输入的输入无效,请重试”);
}

将try{line移动到strHeight=txtInputHeight.getText()之前;下次尝试使用调试器。如果您刚刚完成了代码,很明显try块没有包含引发异常的那一行。是的,这很有效。谢谢大家!移动try{line to before strHeight=txtInputHeight.getText();下次尝试使用调试器。如果您刚刚完成了代码,那么很明显您的Try块没有包含引发异常的行。是的,这很有效。谢谢大家!