如何使数组以相反的顺序返回?

33qvvth1  于 2021-06-30  发布在  Java
关注(0)|答案(3)|浏览(414)

这个问题在这里已经有答案了

如何在java中反转int数组(44个答案)
上个月关门了。
我需要做的是在评论之前的方法。一个包含10个元素的长数组,用户输入:

//Reverses the contents of the array. The array remains unchanged
    //It prints the reversed array to the screen
    static void reverseArray(int [] A)
    {
        int[] tempArray = new int[10];

      for(int i = A.length-1; i >= 0; i--)
      {
        //Supposed to copy what's in reversed array A to tempArray
        tempArray[i] = A[i];
      }
        printArray(tempArray); //Prints the updated array to the screen
    }

我想让它做的是从a的最后一个元素倒计时到第一个元素,然后将其复制到temparray。但现在它只打印用户输入的数组。我知道我需要2个整数来跟踪什么是递增和递减的,但我不知道如何实现它们。

aurhwmvo

aurhwmvo1#

所以我看到了这个答案,真的很有帮助。我也可以按照我最初的计划使用for循环,但是有一段时间循环也很有效。前者可能更容易,因为我不需要制造更多的变量,但这没关系。

static void reverseArray(int [] A)
    {
      int i = A.length - 1;
      int j = 0;
      int[] tempArray = new int[A.length];

      while(i >= 0)
      {
        tempArray[j] = A[i];
        i--;
        j++;
      }
        printArray(tempArray); //Prints the updated array to the screen
    }
rsl1atfo

rsl1atfo2#

首先,不要硬编码 tempArray . 使用长度 A :

int[] tempArray = new int[A.length];

其次,复制 A 逆指数 tempArray :

for(int i = A.length-1; i >= 0; i--) {
  tempArray[A.length-1-i] = A[i];
}
pftdvrlh

pftdvrlh3#

这是我的方法

static void reverseArray(int [] A){
        int[] tempArray = new int[A.length];
        for(int i = 0; i < A.length; i++){
             tempArray[i] = A[A.length - i - 1];
        }
        printArray(tempArray); //Prints the updated array to the screen
    }

    static void printArray(int[] array){
        for(int i = 0; i < array.length; i++){
            System.out.print(array[i] + " ");
        }
    }

相关问题