java - 為什么這個循環我跳不出來?
問題描述
1.問題描述:一直死循環,反復打印,直到出錯
2.相關代碼
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:當i = 1, 2, 3, 4 不說了,打印1 2 3 4當i = 5時進入else語句塊i -= 5 即為 i = i-5 結果是i = 0吧,然后i++
然后i又從1 開始循環。for循環的終止條件 i < 10永遠不能終止
回答2:跳出來就有鬼了。。。。
回答3:i -= 5; 是不是寫錯了。
每次循環時,i++ 把 i 加 1,但是 i -= 5; 又把 i 減 5。
回答4:i=5時,if不成立,進入else,做完 i -= 5; 結果就是 i=0;然后出else,i++之后,i=1;又進入if...當i=5時...
回答5:簡單,你把程序自己腦子里走一遍就清楚了啊,一開始i=0,小于5,輸出,然后i++到1,繼續小于5,在輸出,一直這樣直到i=5,然后i<5不成立,就走else那個分支,i-=5;i又小于0了,然后又開始進入下一次循環像開頭那樣,所以出現無限死循環
回答6:你把i每個值的情況都看一下就一目了然了,在i>5的時候,i就進入了else,這個時候i又變成了0,也就是說i永遠到不了i>10這個終止循環的條件
回答7:邏輯錯了,加到6后,又減去5,回到1,然后又每次加1,加到6之后,又減去5,回到1,不斷地循環。
回答8:邏輯有問題 無限死循環
回答9:這種問題建議先找個入門書或者入門視頻看10分鐘
相關文章:
1. ddos - apache日志很多其它網址,什么情況?2. 怎么在phpstudy中用phpexcel上傳數據到MYSQL?3. javascript - 百度搜索網站,如何讓搜索結果顯示一張圖片加上一段描述,如圖;求教4. 二維數組怎么重新組合5. docker綁定了nginx端口 外部訪問不到6. vue.js - centos 使用vue-cli. 執行npm run dev 報錯7. php由5.3升級到5.6后,登錄網站,返回的是php代碼,不是登錄界面,各位大神有知道的嗎?8. javascript - 如何在同一臺電腦上配置不同主機的2個git賬號?9. 發現了多個名稱為[spring_web]的片段。相對順序不合法10. android - 使用vue.js進行原生開發如何進行Class綁定
