线程“AWT-EventQueue-0”中的异常java.lang.NumberFormatException:对于输入字符串:“1”

时间:2014-04-17 04:26:02

标签: java awt-eventqueue

我非常喜欢Java编程,我正在学习基于Java的课程。我目前正在做这个基于布尔和RadioButtons的咖啡项目。我相信我几乎完成了它,除了我在控制台上收到此错误消息。如果有任何其他错误,请告诉我,以便我可以解决它!

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "1 "
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)

    public void purchase()
    {
        //local variables
        String  quantityString, buttonString, nameString, coffeeType;

        float subTotalFloat, priceFloat, taxFloat, grandTotalFloat;
        int quantityInteger;

        //Format the values to currency format
        DecimalFormat valueDecimalFormat = new DecimalFormat("$#0.00");

        //retrieve the input from the  user
        nameString = nameTextField.getText();
        quantityString = quantityTextField.getText();
        buttonString = coffeeType ();

        //change data types
        quantityInteger = Integer.parseInt(quantityString);
        ...
    }

3 个答案:

答案 0 :(得分:3)

最后你还有一个额外的空间。修剪它以移除那个空间。

quantityInteger = Integer.parseInt(quantityString.trim());

答案 1 :(得分:3)

将您的Integer.parseInt(quantityString);更改为Integer.parseInt(quantityString.trim());,您的代码将正常运作!

答案 2 :(得分:0)

尝试这个我在控制台消息中找到一个空格"线程中的异常" AWT-EventQueue-0" java.lang.NumberFormatException:对于输入字符串:" 1" (在一个空格之后) 所以试着找出是否错误地考虑了空白空间,所以parserint试图解析字符串+空格。