input.next()在这段代码中的意思

public static int getinput()
{//如果不赋初始值,也不键盘输入,就返回不了值
int num = -1;
while(true)
{
try {
num = input.nextInt();
}
//捕捉错误,如果没有错误就直接break退出循环
catch (InputMismatchException e) {

System.err.println("请重新输入数字");

input.next(); //在这里
//结束本次循环,进入下一次循环
continue;
}
break;
}
return num;
}

比如说你的程序读入了一个abc
那input.nextInt()会报错
进到catch里,这个时候abc并没有被读入
input.next()用来读入abc,相当于跳过这段非数字
你其实可以直接拿个字符串接收input.next()然后紧跟着输出一下就知道怎么回事了追问

为什么非要读入,能不能再说详细一点。。

温馨提示:答案为网友推荐,仅供参考
相似回答