gpt4 book ai didi

java - 如何交换数组中的两个整数,其中我的方法从 main 中接收两个整数和一个数组?

转载 作者:行者123 更新时间:2023-12-01 16:32:36 25 4
gpt4 key购买 nike

我在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com