搜尋

首頁  >  問答  >  主體

java - 為什麼這個循環我跳不出來?

1.問題描述:一直死循環,重複列印,直到出錯

2.相關程式碼

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<code>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");

    }

}

</code>


扔个三星炸死你扔个三星炸死你2757 天前865

全部回覆(9)我來回復

  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-12 09:23:20

    當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永遠不能終止

    回覆
    0
  • 漂亮男人

    漂亮男人2017-06-12 09:23:20

    跳出來就有鬼了。 。 。 。

    回覆
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-06-12 09:23:20

    i -= 5; 是不是寫錯了。

    每次循環時,i++i 加 1,但是 i -= 5; 又把 i 減 5。

    回覆
    0
  • 怪我咯

    怪我咯2017-06-12 09:23:20

    i=5時,if不成立,進入else,
    做完i -= 5; 結果就是i=0;
    然後出else,i++之後,i=1;
    又進入if
    ...
    當i= 5時
    ...

    回覆
    0
  • 高洛峰

    高洛峰2017-06-12 09:23:20

    簡單,你把程式自己腦子裡走一遍就清楚了啊,一開始i=0,小於5,輸出,然後i++到1,繼續小於5,在輸出,一直這樣直到i=5,然後i<5不成立,就走else那個分支,i-=5;i又小於0了,然後又開始進入下一次循環像開頭那樣,所以出現無限死循環

    回覆
    0
  • 欧阳克

    欧阳克2017-06-12 09:23:20

    你把i每個值的情況都看一下就一目了然了,在i>5的時候,i就進入了else,這個時候i又變成了0,也就是說i永遠到不了i>10這個終止循環的條件

    回覆
    0
  • 某草草

    某草草2017-06-12 09:23:20

    邏輯錯了,加到6後,又減去5,回到1,然後又每次加1,加到6之後,又減去5,回到1,不斷地循環。

    回覆
    0
  • ringa_lee

    ringa_lee2017-06-12 09:23:20

    邏輯有問題 無限死循環

    回覆
    0
  • 迷茫

    迷茫2017-06-12 09:23:20

    這種問題建議先找入門書或入門影片看10分鐘

    回覆
    0
  • 取消回覆