基本上,我接受一个代表文件的字符串输入。该文件可以包含整数、双精度或随机字符串。我尝试迭代文件,将所有整数相加,然后取所有整数的平均值。我遇到的问题是当我得到的不是整数的时候。我不知道如何捕获和处理错误,然后迭代到文件的下一部分。我不能使用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;}
发布于 2014-02-20 13:16:27
Scanner#nextInt可能抛出
InputMismatchException -如果下一个标记与整数正则表达式不匹配或超出范围
NoSuchElementException -如果输入耗尽
IllegalStateException -如果此扫描仪已关闭
试试这个-
while(scanner.hasNextInt()){
try{
total += scanner.nextInt();
itterate++;
}catach(RuntimeException nfe){...}
}https://stackoverflow.com/questions/21898737
复制相似问题