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);有什么用?
Scanner从字面意思理解就是扫描它是java中的一个类,是系统对输入流进行的一个封装,input是Scanner的实例
整句话的意思就是扫描从控制台输入的字符。
急求大神解释一下:为什么在输入错误一次后,再次进入inputCommand后,没有执行try语句,而是直接跳到catch语句???
哇,果然有人提出了相同的问题,也没想明白啊,
就算输入的不是整型数据,那返回值也是-1啊,为什么会变成死循环呢,大神,救救我吧,不然睡不着啊
接受控制台的输入
如果没有 input = new Scanner(System.in); 出现错误后,会进入死循环