创建一个新的反向Java数组

1 java arrays

CodingBat > Java > Array-1 > reverse3:

给定整数长度3的阵列,返回与以相反的顺序的元素的新的数组,所以{1,2,3}为{3,2,1}.

public int[] reverse3(int[] nums) {
    int[] values = new int[3];
    for (int i = 0; i <= nums.length - 1; i++) {
        for (int j = nums.length-1; j >= 0; j--) {
            values[i] = nums[j];
        }
    }
    return values;
}
Run Code Online (Sandbox Code Playgroud)

我无法使其正常工作,通常是数组中的最后一个int,成为新数组中的每个int

Yul*_*liy 5

您不需要两级循环。只需一个循环:

for(int i = 0, j = nums.length - 1; i < nums.length; i++,j--) {
    values[i] = nums[j];
}
Run Code Online (Sandbox Code Playgroud)

或者,或者,只是不要单独跟踪j,并执行以下操作:

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


Mih*_*ria 5

除非这是一个功课,为什么不使用Apache ArrayUtils '

ArrayUtils.reverse(nums)

永远不要重新发明轮子:)