java - 為什么這個(gè)循環(huán)我跳不出來?
問題描述
1.問題描述:一直死循環(huán),反復(fù)打印,直到出錯(cuò)
2.相關(guān)代碼
int[] Aarray = new int[]{2,4,5,6,2};int[] Barray = new int[]{3,6,2,4,6};for (int i = 0 ;i < 10 ;i ++ ){ if (i < 5) {System.out.print(Aarray[i] + 't'); }else { i -= 5;System.out.print(Barray[i] + 't'); }}
問題解答
回答1:當(dāng)i = 1, 2, 3, 4 不說了,打印1 2 3 4當(dāng)i = 5時(shí)進(jìn)入else語句塊i -= 5 即為 i = i-5 結(jié)果是i = 0吧,然后i++
然后i又從1 開始循環(huán)。for循環(huán)的終止條件 i < 10永遠(yuǎn)不能終止
回答2:跳出來就有鬼了。。。。
回答3:i -= 5; 是不是寫錯(cuò)了。
每次循環(huán)時(shí),i++ 把 i 加 1,但是 i -= 5; 又把 i 減 5。
回答4:i=5時(shí),if不成立,進(jìn)入else,做完 i -= 5; 結(jié)果就是 i=0;然后出else,i++之后,i=1;又進(jìn)入if...當(dāng)i=5時(shí)...
回答5:簡(jiǎn)單,你把程序自己腦子里走一遍就清楚了啊,一開始i=0,小于5,輸出,然后i++到1,繼續(xù)小于5,在輸出,一直這樣直到i=5,然后i<5不成立,就走else那個(gè)分支,i-=5;i又小于0了,然后又開始進(jìn)入下一次循環(huán)像開頭那樣,所以出現(xiàn)無限死循環(huán)
回答6:你把i每個(gè)值的情況都看一下就一目了然了,在i>5的時(shí)候,i就進(jìn)入了else,這個(gè)時(shí)候i又變成了0,也就是說i永遠(yuǎn)到不了i>10這個(gè)終止循環(huán)的條件
回答7:邏輯錯(cuò)了,加到6后,又減去5,回到1,然后又每次加1,加到6之后,又減去5,回到1,不斷地循環(huán)。
回答8:邏輯有問題 無限死循環(huán)
回答9:這種問題建議先找個(gè)入門書或者入門視頻看10分鐘
相關(guān)文章:
1. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題2. javascript - (_a = [""], _a.raw = [""],....); js一個(gè)小括號(hào)的是什么意思?3. javascript - 關(guān)于微信掃一掃的技術(shù)問題4. 小白學(xué)python的問題 關(guān)于%d和%s的區(qū)別5. javascript - 關(guān)于js高級(jí)程序中的問題6. html5 - 請(qǐng)問利用font-face定義的字體怎么在canvas里應(yīng)用?7. html - Python2 BeautifulSoup 提取網(wǎng)頁中的表格數(shù)據(jù)及連接8. html5 - css 這種六邊形的邊框怎么畫?9. javascript - vuex中子組件無法調(diào)用公共狀態(tài)10. javascript - js正則替換日期格式問題
