我在 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 循环之外。因为,如果你的循环运行偶数
次,它不会影响
数组。
此外,在实际交换元素之前,您需要先初始化数组。在调用 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] + " ");
}
关于java - 如何交换数组中的两个整数,其中我的方法从 main 中接收两个整数和一个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13056670/