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