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