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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嵌套數組引用

嵌套數組引用

FFIVE 2023-08-04 16:42:02
我目前正在在線學習 Java,對以下代碼以及數組中的元素之一的計算結果感到困惑:int[] a = new int[]{9, 8, 3, 1, 5, 4};for (int i = 0; i < a.length; i++) {    if (a[i] % 2 == 0) {        a[i] += 1;    } else if (a[i] < a.length) {        a[i] += a[a[i]];    }}我正在查看a[3]計算結果的數字,當我調試代碼時,我的 IDE 顯示a[a[i]]計算結果為9,這就是我有點困惑的地方。我以為a[3]先等于1然后a[1]等于8,但事實似乎并非如此。任何人都可以澄清一下,因為 JetBrains Academy 課程沒有提及這一點。
查看完整描述

3 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

注意第一個條件 -if (a[i] % 2 == 0) {a[i] += 1;}這會導致偶數值增加。因此a[1]8增加到9。

現在,當i==3,a[a[i]]被評估為a[1]等于 時9。然后將其添加到 的原始值a[3](注意運算符是+=,而不是=),因此a[3]變為1 + 9,即10


查看完整回答
反對 回復 2023-08-04
?
米琪卡哇伊

TA貢獻1998條經驗 獲得超6個贊

int[] a = new int[] {9, 8, 3, 1, 5, 4};


for (int i = 0; i < a.length; i++){

    if (a[i] % 2 == 0)

        a[i] += 1;

    else if(a[i] < a.length)

        a[i] += a[a[i]];

}

|i | a[i] old | a[i] % 2 | a[i] < a.length | a[a[i]] | a[i] new |

|--|----------|----------|-----------------|---------|----------|

|0 |  9       |    -     |   -             |  NaN    |    9     |

|1 |  8       |    +     |   -             |  NaN    |    9     |

|2 |  3       |    -     |   +             |  1      |    4     |

|3 |  1       |    -     |   +             |  9      |    10    |

|4 |  5       |    -     |   +             |  4      |    9     |

|5 |  4       |    +     |   -             |  9      |    5     |

// a = {9, 9, 4, 10, 9, 5};

我以為這a[3]等于1

這是正確的,在步驟3,a[3] = 1


然后就a[1]等于8

這是不正確的,因為在步驟中1它被增加到9


查看完整回答
反對 回復 2023-08-04
?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

沒關系。查看您正在做什么的最佳方法是debuggin(在本例中繪制)您的代碼:


int[] a = new int[] {9, 8, 3, 1, 5, 4};


    for (int i = 0; i < a.length; i++){

        if (a[i] % 2 == 0){

            System.out.printf(a[i]);

            a[i] += 1;

            System.out.printf(a[i]);

        }else if(a[i] < a.length){

            System.out.printf(a[i]);

            a[i] += a[a[i]];

            System.out.printf(a[i]);

}

你會看得更清楚。有時,我們自己面對墻壁會更好,因為最好的做法之一就是了解你。祝你好運!。


查看完整回答
反對 回復 2023-08-04
  • 3 回答
  • 0 關注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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