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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

更改具有 N 個(gè)范圍步長的數(shù)組中的數(shù)據(jù)?

更改具有 N 個(gè)范圍步長的數(shù)組中的數(shù)據(jù)?

UYOU 2023-06-14 14:23:12
以 N 個(gè)范圍步長更改數(shù)組中的數(shù)據(jù),例如,每 2 個(gè)步長。int 數(shù)據(jù) = 新的 int[8];result:    [0],[0], [0],[0], [0],[0], [0],[0];預(yù)期:前兩項(xiàng)應(yīng)更改為 1,接下來的兩項(xiàng)將保持為 0,依此類推...[1],[1] ,[0],[0], [1],[1], [0],[0];我知道訣竅如果(位置 % 2 == 0)用于更改每 2 個(gè)項(xiàng)目,但它只更改第一個(gè)項(xiàng)目。知道如何解決嗎?  int bars =2;    int beats = 4;    int[] pattern = new int[bars * beats];    for (int i = 0; i < pattern.length; i++) {        if(i % bars == 0 ){            pattern[i] = 0;        }else{            pattern[i] = 1;        }    }不是最優(yōu)雅的解決方案,但可以使用 static int[] 數(shù)據(jù);public static void main(String[] args) {    int bars = 7;    int beats = 2;    data = new int[bars * beats];    int minVal;     if(bars > beats){          minVal = Math.min(bars, beats);     }else{          minVal = Math.max(bars, beats);     }    step(minVal, 1);    for (int i = 0; i < data.length; i++) {        if(i % minVal == 0){            System.out.print("|"+ data[i]);        }else{            System.out.print(data[i]);        }    }}public static void step(int interval, int value) {    for (int index = 0; index < data.length; index += interval) {        for (int stepIndex = index; stepIndex < index + interval; stepIndex++) {            if (stepIndex > data.length - 1) {                return;            }            data[stepIndex] = value;        }        index += interval;    }}   static int[] data;    public static void main(String[] args) {        int bars = 7;        int beats = 2;        data = new int[bars * beats];        int minVal;         if(bars > beats){              minVal = Math.min(bars, beats);         }else{              minVal = Math.max(bars, beats);         }        step(minVal, 1);        for (int i = 0; i < data.length; i++) {            if(i % minVal == 0){                System.out.print("|"+ data[i]);            }else{                System.out.print(data[i]);            }        }    }
查看完整描述

2 回答

?
慕田峪9158850

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超7個(gè)贊

嘗試這個(gè)


int bars = 2;

int beats = 4;

int[] pattern = new int[bars * beats];


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

   if(i % beats < bars ){

      pattern[i] = 1;

   } else {

      pattern[i] = 0;

   }

}


查看完整回答
反對(duì) 回復(fù) 2023-06-14
?
茅侃侃

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超21個(gè)贊

這是實(shí)現(xiàn)此目標(biāo)的眾多方法之一。我們遍歷數(shù)組,按定義的間隔遞增,例如您希望為 2。我們創(chuàng)建另一個(gè) for 循環(huán),從當(dāng)前索引開始到當(dāng)前索引 + 間隔結(jié)束,這將允許我們將值(在您的情況下為 1)分配給這些索引。我們還檢查我們正在循環(huán)的當(dāng)前索引是否大于數(shù)據(jù)長度 - 1,以確保對(duì)于非偶數(shù)數(shù)組大小,沒有數(shù)組索引超出綁定。


public class ChangeArrayNSteps {


    public static void main(String[] args) {

        ChangeArrayNSteps cans = new ChangeArrayNSteps(8);


        cans.step(2, 1);


        System.out.println("Data: " + Arrays.toString(cans.data));

    }


    private final int[] data;


    public ChangeArrayNSteps(int size) {

        this.data = new int[size];

    }


    public void step(int interval, int value) {

        for (int index = 0; index < data.length; index += interval) {

            for (int stepIndex = index; stepIndex < index + interval; stepIndex++) {

                if (stepIndex > data.length - 1) {

                    return;

                }

                data[stepIndex] = value;

            }

            index += interval;

        }

    }


}

輸出: Data: [1, 1, 0, 0, 1, 1, 0, 0]


查看完整回答
反對(duì) 回復(fù) 2023-06-14
  • 2 回答
  • 0 關(guān)注
  • 155 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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