我在main中调用我的swap方法,但它没有任何改变。我究竟做错了什么?
public static void main(String[] args){
int mainArr[] = new int[20];
for(int i = 0; i<mainArr.length; i++){
swapper(3, 14, mainArr);
System.out.print(i + mainArr[i] + " ");
}
}
public static void swapper (int a, int b, int[] mainArr){
int t = mainArr[a];
mainArr[a] = mainArr[b];
mainArr[b] = t;
}
我的代码产生
0, 1, 2, 3,...19
以正常的升序排列,我希望它交换第4个和第15个元素。
最佳答案
移动方法调用:-
swapper(3, 14, mainArr);
在您的for循环之外。因为,如果您的循环运行
even
次数,则不会影响数组。
另外,您需要先初始化数组,然后才能实际交换元素。调用
swapper
之前需要执行的操作。for(int i = 0; i<mainArr.length; i++){
mainArr[i] = i;
}
swapper(3, 14, mainArr);
for(int i = 0; i<mainArr.length; i++){
System.out.print(i + mainArr[i] + " ");
}