Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
输入字符串而不是整数时创建Java异常_Java_Swing_Exception_Netbeans - Fatal编程技术网

输入字符串而不是整数时创建Java异常

输入字符串而不是整数时创建Java异常,java,swing,exception,netbeans,Java,Swing,Exception,Netbeans,我必须在学校创建一个计算器应用程序,计算器工作正常,但现在我必须创建一个异常,当用户输入字符串而不是整数值时,它会显示一条用户友好的消息 这是我现在用JFrame和所有东西编写的代码: private void minActionPerformed(java.awt.event.ActionEvent evt) { String invoerEen = getalEen.getText(); int invoerEenDef = Integer.parseInt(invoer

我必须在学校创建一个计算器应用程序,计算器工作正常,但现在我必须创建一个异常,当用户输入字符串而不是整数值时,它会显示一条用户友好的消息

这是我现在用JFrame和所有东西编写的代码:

private void minActionPerformed(java.awt.event.ActionEvent evt) {

    String invoerEen = getalEen.getText();
    int invoerEenDef =  Integer.parseInt(invoerEen);
    String invoerTwee = getalTwee.getText();
    int invoerTweeDef = Integer.parseInt(invoerTwee);

    int resultaatDef = invoerEenDef - invoerTweeDef;
    resultaat.setText(Integer.toString(resultaatDef));
}

private void plusActionPerformed(java.awt.event.ActionEvent evt) {
    String invoerEen = getalEen.getText();
    int invoerEenDef =  Integer.parseInt(invoerEen);
    String invoerTwee = getalTwee.getText();
    int invoerTweeDef = Integer.parseInt(invoerTwee);

    int resultaatDef = invoerEenDef + invoerTweeDef;
    resultaat.setText(Integer.toString(resultaatDef));
}

private void keerActionPerformed(java.awt.event.ActionEvent evt) {
    String invoerEen = getalEen.getText();
    int invoerEenDef =  Integer.parseInt(invoerEen);
    String invoerTwee = getalTwee.getText();
    int invoerTweeDef = Integer.parseInt(invoerTwee);

    int resultaatDef = invoerEenDef * invoerTweeDef;
    resultaat.setText(Integer.toString(resultaatDef));
}

private void delenActionPerformed(java.awt.event.ActionEvent evt) {
    String invoerEen = getalEen.getText();
    int invoerEenDef =  Integer.parseInt(invoerEen);
    String invoerTwee = getalTwee.getText();
    int invoerTweeDef = Integer.parseInt(invoerTwee);

    int resultaatDef = invoerEenDef / invoerTweeDef;
    resultaat.setText(Integer.toString(resultaatDef));
}
此代码包含所有事件及其执行的操作第一个是用于减法等。。。。我将Netbeans用作我的开发环境,并尝试添加如下try-and-catch语句:

try {
        String invoerEen = getalEen.getText();
        int invoerEenDef =  Integer.parseInt(invoerEen);
        String invoerTwee = getalTwee.getText();
        int invoerTweeDef = Integer.parseInt(invoerTwee);

        int resultaatDef = invoerEenDef - invoerTweeDef;
        resultaat.setText(Integer.toString(resultaatDef));
    }
catch(/* what do I put here? */) {
        // what do I do here?
}
所以我的问题是,当用户输入的值不是正确的返回类型时,如何创建一个异常?必需:Integer,found:String

Double或其他返回类型目前并不重要,仅字符串


提前谢谢

使用NumberFormatException。当将字符串转换为数字的方法接收到无法转换的字符串时,会引发该错误。如Integer.parseIntsadfasd

使用NumberFormatException。当将字符串转换为数字的方法接收到无法转换的字符串时,会引发该错误。如Integer.parseIntsadfasd

您可以对一般异常使用NumberFormatException或Exception e,然后打印一条消息,如:Invalid entry

catch (NumberFormatException e) {
    System.out.println("Invalid entry, please enter a number");
}

您可以对一般异常使用NumberFormatException或Exception e,然后打印一条消息,如:Invalid entry

catch (NumberFormatException e) {
    System.out.println("Invalid entry, please enter a number");
}

若要捕获输入的字符串是否也是空白文本计数,请使用:

要捕获任何错误,请使用:

您可以将它们组合起来捕获不同的错误,以便可以单独处理它们。例如:

try 
{
    String s = "hi";
    int i = Integer.parseInt(s); // will go into NumberFormatException n
    s = s.substring(-2); // will go into Exception e
}
catch (NumberFormatException n) {
    System.out.println("Please enter a number.");
}
catch (Exception e) {
    System.out.println("Unspecified error (not a NumberFormatException).");
}

若要捕获输入的字符串是否也是空白文本计数,请使用:

要捕获任何错误,请使用:

您可以将它们组合起来捕获不同的错误,以便可以单独处理它们。例如:

try 
{
    String s = "hi";
    int i = Integer.parseInt(s); // will go into NumberFormatException n
    s = s.substring(-2); // will go into Exception e
}
catch (NumberFormatException n) {
    System.out.println("Please enter a number.");
}
catch (Exception e) {
    System.out.println("Unspecified error (not a NumberFormatException).");
}