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

作业参考中的代码问题

private static int inputCommand(){

int command;

try {

command = input.nextInt();

return command;

} catch (Exception e) {

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

   input = new Scanner(System.in);

//返回-1

return -1;

}

}

}

其中 input = new Scanner(System.in);有什么用?

正在回答

5 回答

Scanner从字面意思理解就是扫描它是java中的一个类,是系统对输入流进行的一个封装,input是Scanner的实例
整句话的意思就是扫描从控制台输入的字符。

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

急求大神解释一下:为什么在输入错误一次后,再次进入inputCommand后,没有执行try语句,而是直接跳到catch语句???

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

哇,果然有人提出了相同的问题,也没想明白啊,

就算输入的不是整型数据,那返回值也是-1啊,为什么会变成死循环呢,大神,救救我吧,不然睡不着啊

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

接受控制台的输入  

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

如果没有 input = new Scanner(System.in); 出现错误后,会进入死循环

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

Richard233

能具体说说为什么会进入死循环吗?不太理解,谢谢! :)
2015-10-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409792    人
  • 解答问题       4340    个

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

进入课程

作业参考中的代码问题

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