Meng7y
2017-07-12 18:40:28
do {?? ??? ??? ?//try catch用來(lái)捕捉用戶(hù)輸入的錯(cuò)誤的id。并且向用戶(hù)拋出一個(gè)異常“請(qǐng)輸入正確的整數(shù)型的id”?? ??? ??? ?try {?? ??? ??? ??? ?System.out.println("請(qǐng)輸入您的id:");?? ??? ??? ??? ?id = console.nextInt();?? ??? ??? ??? ?//布爾型的ready用來(lái)控制循環(huán)的條件?? ??? ??? ??? ?ready = true;?? ??? ??? ?} catch (Exception e) {?? ??? ??? ??? ?System.out.println("請(qǐng)輸入正確的整數(shù)型的id");?? ??? ??? ??? ?//當(dāng)用戶(hù)輸入錯(cuò)誤的id時(shí)就會(huì)在拋出異常的同時(shí)讓布爾型的ready為flase。從而讓循環(huán)條件滿(mǎn)足。?? ??? ??? ??? ?ready = false;?? ??? ??? ??? ?//《?》這里的console.next();作用只是為了讓循環(huán)停止嗎?? ??? ??? ??? ?console.next();?? ??? ??? ?}?? ??? ?} while (ready == false);
3 回答

袁灝關(guān)
TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超0個(gè)贊
從代碼看,當(dāng)你輸入的值是非int類(lèi)型的話(huà),就會(huì)報(bào)錯(cuò),通過(guò)trycatch方法提醒用戶(hù)修改,如果沒(méi)有console.next()的話(huà),后面運(yùn)行的時(shí)候會(huì)獲取你前面輸入的錯(cuò)誤的數(shù)據(jù),所以這個(gè)console.next()的作用是把錯(cuò)誤的數(shù)據(jù)放到異常的next里面。新人小白的個(gè)人看法,歡迎大佬指教

金子砸死我吧
TA貢獻(xiàn)23條經(jīng)驗(yàn) 獲得超6個(gè)贊
這段代碼意思是,讓你輸入非int類(lèi)型值,那么就會(huì)報(bào)錯(cuò),報(bào)錯(cuò)了,就把ready
改為false,然后就可以結(jié)束循環(huán),如果你一直輸入數(shù)值,那么就不會(huì)報(bào)錯(cuò),不報(bào)錯(cuò),ready一直是true,就會(huì)一直循環(huán)下去,明白了嗎
添加回答
舉報(bào)
0/150
提交
取消