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

参考答案里inputcommand为啥要加上console= new Scanner(System.in),不加输入字符就死循环了

private static int inputCommand(){

int command;

try {

command = console.nextInt();

return command;

} catch (Exception e) {

//若输入字符型或者字符串,则抛出异常,捕获该异常,抛出”错误命令异常“

console = new Scanner(System.in);

//返回-1

return -1;

}

}


正在回答

2 回答

查了好久,这个console = new Scanner(System.in);的意思是之前的扫描仪有个缓存,你输入了字符,抛出异常之后再重新输入,但是这个缓存内的数据没有清空,不需要你再输入,里面一直有个异常,所以一直报错,他现在新建了个新的扫描仪,把之前数据清空了

1 回复 有任何疑惑可以回复我~
#1

每天学一点明天会更好

还一种方法,加一个扫描仪名.next();也可以清空,并且比新建要占用资源少
2019-01-06 回复 有任何疑惑可以回复我~

你这个程序需要输入数据,你没有

console= new Scanner(System.in),

杂么输入进去,你都没数据,他不就是死循环

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

参考答案里inputcommand为啥要加上console= new Scanner(System.in),不加输入字符就死循环了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信