这是一些示例代码: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
保持提示,直到满足特定条件为止。
添加回答
举报
0/150
提交
取消