我已经编写了这个代码,它应该获取数组中的最后8个值并反转它们,然后放入新numbs[]数组的第一个插槽中。但是,我还希望numbersarray中的{1,1,1,1,1,4}值添加到numbs[]数组中最后8个值之后,而不进行反转。这应该是动态的,所以如果numberarray[]中有24个值,那么应该有3个组,其中偶数组的值要反转。
numbersArray = new int[] { 1, 1, 1, 1, 1, 1, 1, 4, 2, 2, 2, 2, 2, 2, 2, 1 };
int[] numbs = new int[numbersArray.length];
for (int i = 0; i < numbersArray.length; i++) {
numbs[(i % 16) < 8 ? i : (8 - (i % 8) - 1)] = numbersArray[i];
}
结果:
numbs[] = [1, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0]
我希望数组实际显示:
numbs[] = [1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 4]
2条答案
按热度按时间omtl5h9j1#
把这个加到你的代码里
xmd2e60i2#
好像你想用数组。尽管使用集合也可以很容易地完成。
下面的代码有一些限制。数组大小>=16可以进一步优化。。