[英]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.