Java 阵列的反向打印

Java 阵列的反向打印,java,arrays,reverse,Java,Arrays,Reverse,(Java初学者) 我提出了一个代码,可以反向显示int数组,虽然我知道可能有更好的方法,但我认为这种逻辑应该可以工作: for(int i = 0, j = numList.length - 1; i < j; i++, j--) { int temp = numList[i]; numList[i] = numList[j]; numList[j] = temp; System.out.print("Revers

(Java初学者) 我提出了一个代码,可以反向显示int数组,虽然我知道可能有更好的方法,但我认为这种逻辑应该可以工作:

for(int i = 0, j = numList.length - 1; i < j; i++, j--)
    {
        int temp = numList[i];
        numList[i]  = numList[j];
        numList[j] = temp;
        System.out.print("Reverse order: " + temp + " ");
    }

这里出了什么问题?我能做些什么来修复它?

那代码就是有问题。用这个代替

for(int i = numList.Length - 1; i >= 0;i--)
{
    int temp = numList[i];
    System.out.print("Reverse order: " + temp + " ");
}

在你的代码中,你增加i,减少j,这意味着如果你循环直到你的条件得到满足,你可以完成大约一半的循环。试着一步一步地创建一个循环值表,你会看到我的意思:)

I++和j——随着循环迭代,当I和j到达数组中间时,I我知道出于某种原因这是错误的,但我认为语句
numList[I]=numList[j]将以某种方式修复此问题:/我想他是在试图扭转阵势。这个新的代码示例将以相反的顺序打印它。有一种比这简单得多的方法来进行反向打印。但您之前的示例符合他的要求……您刚刚错过了循环中的j声明rest已经足够好了。@Nazgul“我想出了一个代码,可以反向显示int数组”->反向显示@braindead use I>=0,我将进行编辑:)@braindead您可以,因为它是某些内容的一部分。你不能用它来进行平等性检查。(例如:如果(price=0)),因为您将price设置为0,这不是布尔运算。你可以写:if(price==0):)不客气:)@DylanMeeus注意到。再次感谢你的帮助!
for(int i = numList.Length - 1; i >= 0;i--)
{
    int temp = numList[i];
    System.out.print("Reverse order: " + temp + " ");
}