楼主,我觉得你应该忘了函数调用中参数传递的方式的问题,函数参数传递的方式有值传递和地址传递,你回头看看你的程序,调用paixv(arr)的时候传递的是数组的地址,所以你在定义paixv函数里面直接换了需要换位的数据,这个是正确!但当你调用huhuan(arr[x],arr[y])时却是用的值传递的调用,值传递就是把arr[x]和arr[y]里面的值拷贝一份传给huhuan(int x, int y)里面的x和y,在huhuan(int x, int y)函数里面转换的是arr[x]和arr[y]拷贝出来的x和y的值,跟原值arr[x]和arr[y]无关,所以数组没变化!!
希望楼主能明白!!
(附:这个解析是我们以前学C和C++时候的说法,我是Java菜鸟,不知道这样的解析在Java中能否用,不知道我这个算不算另类啊!!汗!!!)作者: 杨康 时间: 2012-5-16 01:11
调用互换功能时,你的定义格式你检查是否出现了问题,应该是huhuan(int[] arr, int x, int y),你没有将数组传送进huhuan函数的参数列表。作者: 孙峰 时间: 2012-5-16 10:16
云惟桉 发表于 2012-5-16 00:14
建议楼主是用一下方式进行交换:
public static void swap(int[] arr, x , y){
int temp = arr[x] ...