gpt4 book ai didi

java - Integer.parseInt 错误 : java. lang.Integer.parseInt(来源未知)

转载 作者:行者123 更新时间:2023-12-01 06:44:37 33 4
gpt4 key购买 nike

我正在开发一个 Java 项目,将每个整数添加到下一行中的整数,直到文件中没有任何行可供读取。因此,为了能够添加它,我必须在该行中使用 Integer.parseInt(...) 然后添加它。P.S:for 循环只会跳过包含文件头的两行。所有字符串都引用 Integer.parseInt() 接受的数字。

这是完整的异常错误:

Exception in thread "main" java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at prog.Result(prog.java:93)
at prog.main(prog.java:56)

导致异常的代码是:

public static void Result() throws IOException
{
FileReader fileReader = new FileReader(dir+"/"+log_file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
int i;
for (i=0;i<=2;++i)
{
bufferedReader.readLine();
}
int result =0;
while (bufferedReader.readLine() != null)
{
result += Integer.parseInt(bufferedReader.readLine());

}
System.out.println("The Result Is : " + result);

}

最佳答案

该 block 实际上读取行,而不是一行。

while (bufferedReader.readLine() != null)
{
result += Integer.parseInt(bufferedReader.readLine());
}

当在 while 条件检查中读取最后一行时,会发生错误,并且 block 的内部将读取 null,因为没有更多行待读。

将循环写成这样是惯用的:

String line;
while ((line = bufferedReader.readLine()) != null)
{
result += Integer.parseInt(line);
}

关于java - Integer.parseInt 错误 : java. lang.Integer.parseInt(来源未知),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18777522/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com