Java 如何处理扫描仪异常
基本上,我接受一个表示文件的字符串输入。该文件可以包含整数、双精度或随机字符串。我试图在文件中迭代添加所有整数,然后取所有整数的平均值。我一直坚持的问题是当我得到的不是整数的时候。我不知道应该如何捕捉和处理错误,然后迭代到文件的下一部分。我不能使用if语句,我完全被卡住了Java 如何处理扫描仪异常,java,Java,基本上,我接受一个表示文件的字符串输入。该文件可以包含整数、双精度或随机字符串。我试图在文件中迭代添加所有整数,然后取所有整数的平均值。我一直坚持的问题是当我得到的不是整数的时候。我不知道应该如何捕捉和处理错误,然后迭代到文件的下一部分。我不能使用if语句,我完全被卡住了 String storeVariables = null; FileReader fileReader; BufferedReader bufferedReader; Scanner scanner = null
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;
}扫描仪#nextInt
可能会引发
InputMismatchException-如果下一个标记与整数正则表达式不匹配,或者超出范围NoTouchElementException-如果输入用尽
非法状态异常-如果此扫描仪已关闭 试试这个-
while(scanner.hasNextInt()){
try{
total += scanner.nextInt();
itterate++;
}catach(RuntimeException nfe){...}
}
啊,干得好,先生