簡體   English   中英

數組邏輯:如何排列兩個數組編號

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

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