数组逻辑:我如何安排两个数组编号

San*_*uha -2 java arrays logic core

我有两个数组:

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

我该怎么办?

Sam*_*tep 5

在这种情况下,您不需要嵌套循环; 你需要的只是正确使用模数运算符.

for (int i = 0; i < array1.length; i++) {
  System.out.println(array1[i] + "-" + array2[i % array2.length]);
}
Run Code Online (Sandbox Code Playgroud)

这样做的原因是模数运算符很好地映射到您的问题.您尝试执行的操作需要反复遍历列表(array2)并回绕到开头.模数运算符本质上是一个"包装"运算符; 逐步思考,它允许你每次达到一定数量(在这种情况下,大小array2)回到0.

  • 你已经正确回答了这个问题!你已经解决了Santanu的功课.也许你应该添加一个关于为何起作用的解释.然后我会upvote而不是downvote. (3认同)