第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

嵌套數(shù)組引用

嵌套數(shù)組引用

FFIVE 2023-08-04 16:42:02
我目前正在在線學(xué)習(xí) Java,對以下代碼以及數(shù)組中的元素之一的計算結(jié)果感到困惑: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]計算結(jié)果的數(shù)字,當(dāng)我調(diào)試代碼時,我的 IDE 顯示a[a[i]]計算結(jié)果為9,這就是我有點困惑的地方。我以為a[3]先等于1然后a[1]等于8,但事實似乎并非如此。任何人都可以澄清一下,因為 JetBrains Academy 課程沒有提及這一點。
查看完整描述

3 回答

?
拉風(fēng)的咖菲貓

TA貢獻(xiàn)1995條經(jīng)驗 獲得超2個贊

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

現(xiàn)在,當(dāng)i==3,a[a[i]]被評估為a[1]等于 時9。然后將其添加到 的原始值a[3](注意運算符是+=,而不是=),因此a[3]變?yōu)?code>1 + 9,即10。


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

TA貢獻(xiàn)1998條經(jīng)驗 獲得超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


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

TA貢獻(xiàn)1797條經(jīng)驗 獲得超4個贊

沒關(guān)系。查看您正在做什么的最佳方法是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]);

}

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


查看完整回答
反對 回復(fù) 2023-08-04
  • 3 回答
  • 0 關(guān)注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號