修改Array参数


import java.util.Scanner;
    public class ModifyArray {
    public static int [] swapArrayEnds(int [] sortArray, int numElem) {
       int temp = 0;
       int i = 0;
       for (i = 0; i < numElem - 1; ++i){
        temp = sortArray[0];
        sortArray[0] = sortArray[numElem - 1];
        sortArray[numElem - 1] = temp;
      }
    return sortArray;
   }
   public static void main (String [] args) {
     int numElem = 4;
     int[] sortArray = new int[numElem];
     int i = 0;
     sortArray[0] = 10;
     sortArray[1] = 20;
     sortArray[2] = 30;
     sortArray[3] = 40;
     swapArrayEnds(sortArray, numElem);
     for (i = 0; i < numElem; ++i) {
       System.out.print(sortArray[i]);
       System.out.print(" ");
    }
     System.out.println("");
  return;
 }
}

swapArrayEnds方法中,我可以交换第一个用户输入的结尾,但如果主方法中的numElem发生了变化,swapArrayEnds将不适用于更改后的参数

我需要帮助尝试获得第二个用户输入

如果你想交换数组的最后一个元素和第一个元素,你不需要自己传递长度,你可以像这样得到它:

public static int [] swapArrayEnds(int [] sortArray) {
  int temp = sortArray[0];
  sortArray[0] = sortArray[sortArray.length-1];
  sortArray[sortArray.length-1] = temp;
  return sortArray;
}

这个方法会交换第一个和最后一个元素,像这样:

你给这个:[3, 4, 6, 8]你得到这个:[8, 4, 6, 3]

还请注意,我从你的方法中删除了for循环,因为它只是一遍又一遍地交换相同的元素,这没有意义(因为如果你想交换2次,那么这只是没有效果,所以为什么要调用swap呢?)。

相关内容

最新更新