gpt4 book ai didi

java - Integer.parseInt() 抛出 NumberFormatException

转载 作者:行者123 更新时间:2023-12-01 17:19:19 24 4
gpt4 key购买 nike

对于我的作业,我尝试将整数序列读入数组并计算有关该数组的一些内容。我仅限于使用 InputStreamReader 和 BufferedReader 从文件中读取,并且 Integer.parseInt() 在读取第一行后抛出 NumberFormatException。

如果我通过键盘单独输入每个数字,则一切正常,但如果我尝试直接从文件中读取,则根本不起作用。

这是到目前为止的代码

int[] array = new int[20];

try {
int x, count = 0;
do{
x = Integer.parseInt((new BufferedReader(new InputStreamReader(System.in)).readLine()));
array[count] = x;
count++;
}
while (x != 0);
}
catch (IOException e){
System.out.println(e);
}
catch (NumberFormatException e){
System.out.println(e);
}

要测试的案例是

33
-55
-44
12312
2778
-3
-2
53211
-1
44
0

当我尝试复制/粘贴整个测试用例时,程序仅读取第一行,然后抛出NumberFormatException。为什么 readLine() 只读取第一个值而忽略其他所有值?

最佳答案

您每次都会重新打开System.in。我不知道这会做什么,但我认为这不会很好。

相反,您应该使用 one BufferedReader,并在循环中从中逐行读取。

关于java - Integer.parseInt() 抛出 NumberFormatException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19868817/

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