我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:金算盘心水论坛 > 抛出异常 >

java中如何抛出异常后继续运行

归档日期:08-04       文本归类:抛出异常      文章编辑:爱尚语录

  题目:输入若干个整数,并求和,直到结束标志999为止。在输入过程中,自动忽略掉输入的非整数。代码:utMismatchException;importjava.util.Scanner;publicclassS...

  题目:输入若干个整数,并求和,直到结束标志999为止。在输入过程中,自动忽略掉输入的非整数。

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  当某一扫描器抛出 InputMismatchException 时,该扫描器不会传递导致该异常的标记,因此可以通过其他某种方法来获取或跳过它。

  这是java API文档中的原话。意思是说,如果nextInt方法没有成功解析出一个整数,那么你的输入不会被忽略。因为它或许能被其它格式解析。

  那么你的程序中输入了a后,出现异常,number被赋值100,开始下一次循环,但这时数据缓冲区内你上次输入的a还在,并没有清除,这时继续解析a,还是错误,于是这个过程就一直重复下去了。

  现在你要改的是,出现错误把这次的输入清除,只要在catch中,加一句:input.next()就搞定了!

  想要循环继续下去,这样,就不能在循环中抛出异常了,只是打印输出非整数的信息就好了可是题目要求忽略非整数,也就是说,输入12 13.2 12的时候,结果应该为24.这怎么破?

本文链接:http://izytravel.com/paochuyichang/620.html