gpt4 book ai didi

Java数组顺序反转

转载 作者:行者123 更新时间:2023-11-29 09:56:55 24 4
gpt4 key购买 nike

我正在学习数组,我正在尝试颠倒数组中的顺序。这是我到目前为止所采用的方法,但它只适用于数组中前半部分的值。我做错了什么?

public static void reverse(int[] anArray)
{
int[] a = anArray ;
for (int j = 0; j <= (a.length - 1); j++ )
{
anArray[j] = a[(anArray.length - j - 1)];
}
}

最佳答案

您需要创建一个临时位置才能进行交换。这段代码将数组的末尾写到前面,但是当你写到数组的末尾时,前半部分的值已经丢失了。

public static void reverse(int[] a)
{
int l = a.length;
for (int j = 0; j < l / 2; j++)
{
int temp = a[j];
a[j] = a[l - j - 1];
a[l - j - 1] = temp;
}
}

此外,您将 j 递增两次。 for 循环定义的最后一部分在每个循环之间进行递增。您不需要在循环 block 内手动执行此操作。

关于Java数组顺序反转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8095045/

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