如何反转 int 数组 Java

How to reverse int array Java

我一直在尝试取一个由 100 个随机整数组成的预制数组并将其反转。我没有收到任何错误消息,但生成的数组在重新启动之前只反转了大约一半。这一直在搞乱结果,我似乎无法找出它有什么问题。我是 Java 的新手,所以我觉得这是一个我还没有发现的简单错误,所以我将不胜感激任何帮助或建议。作为参考,这是我创建的方法:

//create a method to reverse the array
  public static void makeNewArray(){
    System.out.println("\nReversed Array:\n");

     //use a for loop to traverse the array
        for(int i=numArray.length-1;i>=0;i--){
          int temp = numArray[i];
          numArray[i] = numArray[numArray.length - i - 1];
          numArray[numArray.length - i - 1] = temp;
          //print the reversed array
          System.out.print("index " + (i+1) + ": "+ numArray[i] + ", ");
        }
  }

在 for 循环中,您将翻转第一个数字和最后一个数字、第二个数字和倒数第二个数字、第三个数字和倒数第三个数字,依此类推。如果你从头到尾,你将翻转每个数字两次,因为你完全移动通过数组,并翻转两个数字,因此翻转数组中的数字两次。只能遍历数组的一半,例如:

int counter = 0;
for(int i = numArray.length-1; i >= counter; i--){
    int temp = numArray[i];
    numArray[i] = numArray[numArray.length - i - 1];
    numArray[numArray.length - i - 1] = temp;
    //print the reversed array
    //System.out.print("index " + (i) + ": "+ numArray[i] + ", ");
    counter++;
}

//print arr
// must be separate because must iterate the whole array
for(int i = 0; i < numArray.length; ++i){ 
    System.out.print("Index: "+i+": "+numArray[i]+", ");
}
System.out.println(""); // end code with newline