首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理扫描仪异常

如何处理扫描仪异常
EN

Stack Overflow用户
提问于 2014-02-20 13:14:49
回答 1查看 29关注 0票数 0

基本上,我接受一个代表文件的字符串输入。该文件可以包含整数、双精度或随机字符串。我尝试迭代文件,将所有整数相加,然后取所有整数的平均值。我遇到的问题是当我得到的不是整数的时候。我不知道如何捕获和处理错误,然后迭代到文件的下一部分。我不能使用if语句,我完全被卡住了。

代码语言:javascript
复制
 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;

}

EN

回答 1

Stack Overflow用户

发布于 2014-02-20 13:16:27

Scanner#nextInt可能抛出

InputMismatchException -如果下一个标记与整数正则表达式不匹配或超出范围

NoSuchElementException -如果输入耗尽

IllegalStateException -如果此扫描仪已关闭

试试这个-

代码语言:javascript
复制
while(scanner.hasNextInt()){
   try{
          total += scanner.nextInt();
          itterate++;
   }catach(RuntimeException nfe){...}
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21898737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档