亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Try Catch使用

用Try catch +continue的思路怎么老是進入死循環呢?

正在回答

2 回答

很有可能是catch語句塊中沒有重新 new Scanner(System.in);

0 回復 有任何疑惑可以回復我~
#1

染紅_街道

為啥catch要多寫個 in.next(); //Scanner in = new Scanner()之前已寫 不加這一句就無限循環了 我也郁悶
2016-05-29 回復 有任何疑惑可以回復我~
#2

Castle__ 回復 染紅_街道

之前我也不明白,只是看到別人都這樣寫。 后來學了IO流明白了。 Scanner 掃描器 構造函數里面的參數(System.in)是個輸入流,在循環里面,第一次輸入錯誤的數據沒有被讀取,還留在管到里,循環進行下一次就直接從管到里讀取那個類型錯誤的值,然后就又走到catch塊里了,就這么死循環。 在catch塊里重新實例化一個輸入流之后再執行下一次循環就重寫讀取數據了。每次出錯都能重新讀取數據。 其實還可以在catch塊中定義一個String 類型變量,將流中數據讀出來,讓流空出來,下次循環就可以重新讀取數據了。 親,問題解決了么? 給個最佳唄 o(∩_∩)o
2016-05-29 回復 有任何疑惑可以回復我~
#3

染紅_街道 回復 Castle__

果然跟C++IO流一樣的原理 謝謝咯 我得看看IO流文件處理什么的了
2016-05-30 回復 有任何疑惑可以回復我~
#4

Castle__ 回復 染紅_街道

給個最佳呀,親~
2016-05-31 回復 有任何疑惑可以回復我~
查看1條回復

能看看你的程序嗎?

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第三季
  • 參與學習       409775    人
  • 解答問題       4546    個

Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧

進入課程

Try Catch使用

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號