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呢?)。