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

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

使用嵌套 for 循環時,if 語句是否會等到循環結束后再繼續執行 if 語句代碼?

使用嵌套 for 循環時,if 語句是否會等到循環結束后再繼續執行 if 語句代碼?

千巷貓影 2023-09-27 16:30:40
當我運行代碼時,程序不會將 j 的值分配給 [i + 1] 處的數組元素。我不明白該程序出了什么問題,但我相信該程序在循環完成時將 j 的值添加到系列 [i+1] 中,我不知道為什么。我期望程序在滿足“if 語句”后立即將 j 的值分配給系列[i+1]。final int size = 100;int series[] = new int[size];series[0] = 0;series[1] = 0;for(int i = 1; i < size - 1; i++){    for(int j = 1; j <= i; j++){        if(series[i] == series[i - j]){            series[i + 1] = j;        }else{            series[i + 1] = 0;        }    }}System.out.println(Arrays.toString(series));實際結果:[0, 0, 1, 0, 3, 0, 5, 0, 7, 0, 9, 0, 11, 0, 13, 0, 15, 0, 17, 0, 19, 0, 21, 0, 23, 0,25, 0, 27, 0, 29, 0, 31, 0, 33, 0, 35, 0, 37, 0, 39, 0, 41, 0, 43, 0, 45, 0, 47, 0, 49, 0, 51, 0, 53, 0, 55, 0, 57, 0, 59, 0, 61, 0, 63, 0, 65, 0, 67, 0, 69, 0, 71, 0, 73,0, 75, 0, 77, 0, 79, 0, 81, 0, 83, 0, 85, 0, 87, 0, 89, 0, 91, 0, 93, 0, 95, 0, 97, 0]預期結果:[0,0,1,0,2,0,2,2,1,6,0,5,0,2,6,...]也稱為 van eck 序列。
查看完整描述

1 回答

?
MM們

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

您需要在第一次滿足 if 條件后停止內部循環,即


for(int i = 1; i < size - 1; i++){

    for(int j = 1; j <= i; j++){

        if(series[i] == series[i - j]){

            series[i + 1] = j;

            break;

        }else{

            series[i + 1] = 0;

        }

    }

}

否則您將覆蓋正確的值。


查看完整回答
反對 回復 2023-09-27
  • 1 回答
  • 0 關注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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