簡體   English   中英

打印具有不同長度的數組的嵌套循環

[英]print nested loop of arrays with different length

我正在為大型系統開發原型,但是遇到了一個問題,需要使用for循環從兩個不同的數組中獲取值。 發生問題是因為兩個數組的長度都不同,但是我需要它們在同一循環中運行。 僅供參考ArrayOne將始終具有+1長度的ArrayTwo。 誰能想到一種使以下代碼正常工作的方法?

謝謝。

for (int i = 0; i < getArrayOne().length; i++) {            
    System.out.print(getArrayOne()[i] + " " + getArrayTwo()[i] + " ");
}

只需在每次打印前確保i在第二個數組的范圍內:

for (int i = 0; i < getArrayOne().length; i++) {        
    System.out.print(getArrayOne()[i] + " ");
    if(i < getArrayTwo().length) { // check that i is within bounds of ArrayTwo
        System.out.print(getArrayTwo()[i] + " ");
    }
}

或者,因為您知道:

ArrayOne將始終具有+1長度的ArrayTwo

您可以運行最大長度為ArrayTwo(較短的那個)的循環,然后打印ArrayOne的其余元素

int i = 0;
for (; i < getArrayTwo().length; i++) {            
    System.out.print(getArrayOne()[i] + " " + getArrayTwo()[i] + " ");
}
System.out.print(getArrayOne()[i]);

請注意,如果條件ArrayOne.length == ArrayTwo.length + 1不成立,則此操作將中斷或無法正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM