per*_*g93 0 java arrays methods integer program-entry-point
我在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;
}
Run Code Online (Sandbox Code Playgroud)
我的代码产生了
0, 1, 2, 3,...19
Run Code Online (Sandbox Code Playgroud)
以正常的升序,我希望它交换第4和第15个元素.
移动方法调用: -
swapper(3, 14, mainArr);
Run Code Online (Sandbox Code Playgroud)
在你的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] + " ");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18984 次 |
| 最近记录: |