關(guān)于java中scanner對象重復(fù)使用的問題
手機(jī)拍的,電腦無法上網(wǎng),見諒。
我是這樣理解的:創(chuàng)建一個scanner對象,可以重復(fù)使用。
但我剛剛寫了另一段代碼,卻出現(xiàn)問題
創(chuàng)建一個整數(shù)i和scanner對象,然后輸入一個數(shù)賦值給i,如果是整數(shù)就break退出循環(huán),如果不是整數(shù)就拋出異常,再次循環(huán)。
但執(zhí)行后,輸入整數(shù)就正常,不是整數(shù),會一直死循環(huán)“請輸入整數(shù)”。
但我發(fā)現(xiàn),如果把創(chuàng)建scanner對象這一行放在如圖標(biāo)記中的位置,也就是try里面,結(jié)果就正常。
請問這是為什么?難道要重復(fù)建立scanner對象?scannner不是可以重復(fù)使用的嗎?
2017-03-06
照你這么寫,應(yīng)該在異常處理中加一句scanner.nextLine().把掃描器的角標(biāo)引向下一行,另外放到里面是新創(chuàng)建了一個對象的中的輸入文本都不是這個新對象的東西了。還有建議異常是用來處理異常的,不是用來處理正常語句的,這個習(xí)慣不好。
2017-03-02
加一個finally試試