老師,在catch語句中為什么又創建一個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);
return -1;
}
}
老師,在catch語句中為什么又創建一個console = new Scanner(System.in);?
2015-02-26
這個是,當程序出現異常的時候,將異常捕獲后,會繼續執行,而不至于出現異常之后,就讓程序死掉了
2016-01-26
為甚要好給控制臺編程一個輸入常量啊
private static Scanner console = new Scanner(System.in);
2015-08-13
從scanner的原理說了,scanner在要求用戶輸入的時候,其實是在內存中占用一段內存用于用戶輸入,你這里,這段內存能存儲int類型的數據,而其他類型的就會拋出異常,然而,我們用console.nextInt()調用沒把該段內存中的東西提出來,輸入字符時,因為現在存入的是字符,提取不出來,他就會一直占用這段內存,導致我們二次輸入時,就不會再要求用戶輸入了,他會繼續試圖調用該段內存數值,也就一直報錯,所有這個new是必須的,不然下次無法輸入,這是比較本質的
2015-05-07
不懂。。就算為了繼續執行干嘛還要重新定義輸入,還是console=input.nextInt()不行么