我的想法是如果我输入的不是整型,就抛出异常,直到我输入的是整型,但实际是如果我输入的不是整型,会一直输出again,不会在scanner处停止让我输入一个值,why?代码如下:
收起
因为你输入错误时,输入流里还有个错误的数据和换行符等待接收, 捕获了异常后 ,下一次 要接收整数,结果还是遇到错误数据和换行符,又报错,继续前面的错误,也就一直打印 again。解决办法,在 异常捕获里面,使用 如下接收一下错误数据
scanner.nextLine();
报告相同问题?