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

来源:1-9 经验总结

慕侠3348009

2018-08-14 23:16

private static int inputCommand(){

int command;

try {

command = console.nextInt();

return command;

} catch (Exception e) {

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

console = new Scanner(System.in);

//返回-1

return -1;

}

}


写回答 关注

2回答

  • 每天学一点明天会更好
    2019-01-06 15:45:49
    已采纳

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

    每天学一点明...

    还一种方法,加一个扫描仪名.next();也可以清空,并且比新建要占用资源少

    2019-01-06 15:47:56

    共 1 条回复 >

  • 阴你
    2018-08-15 09:18:15

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

    console= new Scanner(System.in),

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

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题