为什么我先得到 Not a number 异常,然后得到正确的输出?
import java.io.*;
import java.util.ArrayList;
public class readfile {
public static void main(String args[]) {
ArrayList<Integer> arr =new ArrayList<>();
BufferedReader buff = null;
FileInputStream fs = null;
try {
fs = new FileInputStream("/home/krishna/Documents/file/file");
buff = new BufferedReader(new InputStreamReader(fs));
String line = buff.readLine();
while(line != null) {
try {
arr.add(Integer.parseInt(line.trim()));
}
catch(NumberFormatException e) {
//System.out.println("Not a number");
e.printStackTrace();
}
line = buff.readLine();
}
}
catch(FileNotFoundException e) {
System.out.print(e);
}
catch(IOException e) {
System.out.print(e);
}
sumOfArray(arr);
}
static void sumOfArray(ArrayList<Integer> arr) {
int sum=0;
for(Integer a:arr) {
System.out.print(a+"\t");
sum = sum+a;
}
System.out.println("Sum is : "+" "+sum);
}
}
该文件包含从 1 到 9 的数字,每个数字在新行中,开头没有空格或空行。
Stacktrace 打印以下异常
output:
java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:592)
at java.lang.Integer.parseInt(Integer.java:615)
at com.mojang.readfile.main(readfile.java:18)
1 2 3 4 5 6 7 8 9 Sum is : 45
手掌心
慕工程0101907
相关分类