将数组中的每个元素向下移动一位 (Java)

1 java arrays sorting for-loop

我进行了一次不错的搜索,但无法找到向下移动数组的工作代码。我希望做的是将值存储在数组的最后一个位置,替换最后一个位置,然后将 array[20] 移动到 array[19]。这是为了计算玩家最后 20 次移动,但我在实际存储时遇到了困难。这就是我尝试做的

//an int moveArray[20] previously stated and instantiated
int temp1, temp2;

for (int i = moveArray.length - 1; i > 0; i--) 
{
     temp1 = moveArray[i - 1];
     temp2 = moveArray[i - 2];
     moveArray[i - 1] = moveArray[i];
     temp1 = temp2;
}
moveArray[moveArray.length - 1] = intoWalk;
Run Code Online (Sandbox Code Playgroud)

任何建议或解决方案都会很有帮助,谢谢

Ani*_*udh 6

据我对你的代码的理解。您应该使用以下循环,似乎不需要临时变量。

for(int i=0;i<moveArray.length-1;i++){ 
     moveArray[i] = moveArray[i+1];
}
moveArray[moveArray.length - 1] = intoWalk;
Run Code Online (Sandbox Code Playgroud)