请问这段程序为何输入字符串类时,直接就退出循环了?
cardnum要求为4位整数,为了防止输入非整型报错,加入了has.NextInt()命令。加入后,发现当cardnum输入字符串时,直接退出do while循环,百思不得其解,特来请教大家。
------解决方案--------------------因为你输入了String,所以in.hasNextInt()将返回false,因而直接退出。
------解决方案--------------------
public boolean hasNextInt()
如果通过使用 nextInt() 方法,此扫描器输入信息中的下一个标记可以解释为默认基数中的一个 int 值,则返回 true。扫描器不执行任何输入。
返回:
当且仅当此扫描器的下一个标记是有效的 int 值时才返回 true
抛出:
IllegalStateException - 如果此扫描器已关闭