【发布时间】:2014-05-27 19:17:40
【问题描述】:
我正在为我的代码使用 Netbeans IDE。当我尝试运行它时出现此错误:
Exception in thread "main" java.lang.NumberFormatException: For input string: "3 50"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:527)
at spacely.sprockets.broc.east.SpacelySprocketsBrocEast.main(SpacelySprocketsBrocEast.java:32)
我无法在程序中找出会导致此问题的错误。我的代码如下。如果有人能指出我正确的方向,我将非常感激。谢谢。
package spacely.sprockets.broc.east;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.File;
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.IOException;
public class SpacelySprocketsBrocEast
{
public static void main(String[] args)
{
BufferedReader br = null;
BufferedWriter bw = null;
try
{
br = new BufferedReader(new FileReader("sprocketorders.txt"));
String line;
String element[] = new String[2];
int sum[] = new int[5];
File file = new File ("sprocketorders.txt");
while ((line = br.readLine()) != null)
{
element = line.split(" ");
switch(Integer.parseInt(element[0]))
{
case 1:
sum[0] = sum[0] + Integer.parseInt(element[1]);
break;
case 2:
sum[1] = sum[1] + Integer.parseInt(element[1]);
break;
case 3:
sum[2] = sum[2] + Integer.parseInt(element[1]);
break;
case 4:
sum[3] = sum[3] + Integer.parseInt(element[1]);
break;
case 5:
sum[4] = sum[4] + Integer.parseInt(element[1]);
break;
}
}
if (!file.exists())
{
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
bw = new BufferedWriter(fw);
bw.write("Spacely Sprockets\nTaking Sprockets into the Future\nSales Summary Report\nSprocket Number Total Quantity Sold\n");
for(int i = 0; i < sum.length; i++)
bw.write((i + 1) + "\t" + sum[i] + "\n");
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if (br != null)
br.close();
if (bw != null)
bw.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
【问题讨论】:
-
使用调试器单步调试您的代码,看看当您的代码试图将其解析为整数时,
element[1]是什么 -
我尝试在 netbeans 中使用调试器,它返回了与我在上面在输出窗口中发布的相同的异常错误。然后在调试器控制台中,它说的是: Listening on javadebug User program running Debugger 停止在不可编译的源代码上。用户程序完成