为了账号安全,请及时绑定邮箱和手机立即绑定

输入错误的类型时,如何防止扫描仪抛出异常?

输入错误的类型时,如何防止扫描仪抛出异常?

红糖糍粑 2019-11-02 10:17:47
这是一些示例代码:import java.util.Scanner;class In{    public static void main (String[]arg)     {    Scanner in = new Scanner (System.in) ;    System.out.println ("how many are invading?") ;    int a = in.nextInt() ;     System.out.println (a) ;     } }如果我运行该程序并将其设置为intlike 4,则一切正常。另一方面,如果我回答,too many那不会嘲笑我的有趣笑话。相反,我得到这个(如预期的那样):Exception in thread "main" java.util.InputMismatchException    at java.util.Scanner.throwFor(Scanner.java:819)    at java.util.Scanner.next(Scanner.java:1431)    at java.util.Scanner.nextInt(Scanner.java:2040)    at java.util.Scanner.nextInt(Scanner.java:2000)    at In.main(In.java:9)有没有一种方法可以使它忽略不是int的条目,或者用“有多少个入侵者”重新提示?我想知道这两种方法。
查看完整描述

3 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

它总是一个好处您的应用程序抛出一个错误,当错误发生时反对的方式来保持它的发生。

一种替代方法是将代码包装在的try {...} catch {...}块中InputMismatchException。您可能还希望将代码包装在while循环中,以Scanner保持提示,直到满足特定条件为止。


查看完整回答
反对 回复 2019-11-02
  • 3 回答
  • 0 关注
  • 322 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信