对于我的任务,我正在尝试将整数序列读入数组并计算有关数组的一些内容。我仅限于使用 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() 只读取第一个值而忽略其他所有值?