gpt4 book ai didi

java - 整数的反向数组索引

转载 作者:行者123 更新时间:2023-11-29 07:10:00 25 4
gpt4 key购买 nike

我正在尝试反转一个 int 值数组。它似乎没有正确执行。您会注意到我以不同的方式打印,例如 Array.toString() 以及使用 println

原始数组打印:

1 4 9 16 9

我需要它来打印:

9 16 9 4 1

这是我的代码:

import java.util.Arrays;

public class ReverseArray {
public static void main(String[] args) {
int[] data = { 1, 4, 9, 16, 9 };
reverseArray(data);
int[] dataR = reverseArray(data);
System.out.println("Reveresed data " + Arrays.toString(dataR));
}

public static int[] reverseArray(int[] data) { // returns the reverse of the
// array data
// int [] data = new int[5];
int[] reversedData = new int[data.length];

data[0] = 1;
data[1] = 4;
data[2] = 9;
data[3] = 16;
data[4] = 9;

System.out.println(Arrays.toString(data));
for (int i = 0; i < data.length - 1; i++) {
System.out.println("Original Array: " + data[i]);
}

int reveresedData[] = data;

for (int i = 0; i < reveresedData.length - 1; i++) {
reversedData[(data.length - 1) - i] = data[i];
System.out.println(reveresedData[i]);
}
return reveresedData;
}

}

最佳答案

问题在于:

int reveresedData[] = data;

使 reveresedData 指向与 data 相同的数组。相反,您需要创建一个新数组(或更改算法,以便它原地反转数组)。

要创建一个新数组,您可以使用以下任一方法:

int reveresedData[] = new int[data.length];
int reveresedData[] = data.clone();

关于java - 整数的反向数组索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14860498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com