[英]array logic : How can i arrange two array numbers
我有兩個數組:
int array1 [] = {1,2,3,4,5,6,7};
[這個數組可以增長到巨大的數字]
int array2 [] = {1,2,3};
[最多可以有 30 個元素]
array1 應該是父循環,並且比 array2 有更多的元素。 例如,我必須安排如下:
預期結果 :
1-1
2-2
3-3
4-1
5-2
6-3
7-1
我該如何繼續?
在這種情況下,您不需要嵌套循環; 您所需要的只是正確使用模數運算符。
for (int i = 0; i < array1.length; i++) {
System.out.println(array1[i] + "-" + array2[i % array2.length]);
}
這樣做的原因是模數運算符很好地映射到您的問題。 您嘗試執行的操作需要重復遍歷列表 ( array2
) 並返回到開頭。 取模運算符本質上是一個“包裝”運算符; 循序漸進地思考,它允許您在每次達到某個數字(在本例中為array2
的大小)時返回到 0。
所以你有兩個集合,你想遍歷較大集合 (array1) 的每個元素,並為集合的每個元素打印元素,以及 set2 (array2) 的下一個元素。
我使用了增強的 for 循環,它循環遍歷每個元素,然后模數有效地將i
限制為小於 set2 的長度。 (如果除以 3,余數必須小於 3)
這允許我們使用i++
將一個添加到i
並確保它將始終循環回到第一個元素,就好像該值在spinner 上一樣。
int i = 0;
for( int value : array1 ) {
System.out.print( value + "-" + array2[i++ % array2.length] );
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.