Java 如何处理扫描仪异常

Java 如何处理扫描仪异常,java,Java,基本上,我接受一个表示文件的字符串输入。该文件可以包含整数、双精度或随机字符串。我试图在文件中迭代添加所有整数,然后取所有整数的平均值。我一直坚持的问题是当我得到的不是整数的时候。我不知道应该如何捕捉和处理错误,然后迭代到文件的下一部分。我不能使用if语句,我完全被卡住了 String storeVariables = null; FileReader fileReader; BufferedReader bufferedReader; Scanner scanner = null

基本上,我接受一个表示文件的字符串输入。该文件可以包含整数、双精度或随机字符串。我试图在文件中迭代添加所有整数,然后取所有整数的平均值。我一直坚持的问题是当我得到的不是整数的时候。我不知道应该如何捕捉和处理错误,然后迭代到文件的下一部分。我不能使用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;
}

扫描仪#nextInt
可能会引发

InputMismatchException-如果下一个标记与整数正则表达式不匹配,或者超出范围
NoTouchElementException-如果输入用尽
非法状态异常-如果此扫描仪已关闭

试试这个-

while(scanner.hasNextInt()){
   try{
          total += scanner.nextInt();
          itterate++;
   }catach(RuntimeException nfe){...}
}

啊,干得好,先生