我有一个文件,我试图通过并获取信息,但我一直得到这个

时间:2017-04-22 01:27:50

标签: java

我有一个文件,我正在尝试阅读并获取信息,但我一直得到这个......

Exception in thread "main" java.lang.NumberFormatException: For input string: "flour"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:538)
at BakedItemList.readItemFile(BakedItemList.java:182)
at BakeryPart2.main(BakeryPart2.java:23)

我做错了什么?

     String scan = scanFile.next();
     char codeChar = scan.charAt(0);
     switch (codeChar) {

case 'P': case 'p':
           nameIn = scanLine.next();
           flavorIn = scanLine.next();
           quantityIn = Integer.parseInt(scanLine.next());
           crustCostIn = Double.parseDouble(scanLine.next());

           while (scanLine.hasNext()) {
              for (int i = 0; i < ingredientsIn.length
                    && ingredientsIn[i] != null; i++) {
                 ingredientsIn[i] = scanLine.next();
              }
           }

           item = new Pie(nameIn, flavorIn, quantityIn, crustCostIn,
                       ingredientsIn);
           itemList[itemCount] = item;
           itemCount++;
           break;

直到我到达crustCostIn才读到它。

1 个答案:

答案 0 :(得分:2)

例外是如此清楚,它意味着在crustCostIn = Double.parseDouble(scanLine.next());这一行scanLine.next()的价值是面粉#39;。该字符串无法解析为double。请检查您的输入文件。