问答详情
源自:1-9 经验总结

老师给的作业参考的代码中,自定义的inputCommand()方法里,scan = new Scanner(System.in);//这句话是什么意思呢 为什么要重新给scan 赋值?如果没有这句话,输入非数字信息时,程序就会死掉

private static int inputCommand(){

int command;

try {

command = scan.nextInt();

return command;

} catch (Exception e) {

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

scan = new Scanner(System.in);//这句话是什么意思呢  为什么要重新给scan 赋值?如果没有这句话,输入非数字信息时,程序就会死掉

//返回-1

return -1;

}

}


提问者:梦想还是要有的万一实现了呢 2016-11-11 10:22

个回答

  • 慕UI3855317
    2016-11-11 10:53:47

    scan = new Scanner(System.in);是初始化Scanner对象,怎么说是给scan赋值呢,command = scan.nextInt();你获取的是输入的数字信息,如果不是信息的话,就会引起异常,程序卡死,崩溃的现象。