基本上我正在使用表示文件的字符串输入。该文件可以包含整数,双精度或随机字符串。我试图遍历文件添加所有整数,然后取所有整数的平均值。我坚持的问题是当我得到一个整数以外的东西。我不知道我应该如何捕获并处理错误,然后迭代到文件的下一部分。我不能使用if语句而且我完全陷入困境。
String storeVariables = null;
FileReader fileReader;
BufferedReader bufferedReader;
Scanner scanner = null;
int total = 0;
int itterate = 0;
try{
fileReader = new FileReader(filename);
bufferedReader = new BufferedReader(fileReader);
scanner = new Scanner(bufferedReader);
while(scanner.hasNextInt()){
total += scanner.nextInt();
itterate++;
}
}
catch(Exception e){
}
return total/itterate;
}
答案 0 :(得分:0)
Scanner#nextInt
可能会抛出
InputMismatchException - 如果下一个标记与整数正则表达式不匹配,或者超出范围
NoSuchElementException - 如果输入用尽了
IllegalStateException - 如果此扫描程序已关闭
试试这个 -
while(scanner.hasNextInt()){
try{
total += scanner.nextInt();
itterate++;
}catach(RuntimeException nfe){...}
}