本帖最后由 黄奕豪 于 2012-5-16 00:47 编辑
楼主,我觉得你应该忘了函数调用中参数传递的方式的问题,函数参数传递的方式有值传递和地址传递,你回头看看你的程序,调用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中能否用,不知道我这个算不算另类啊!!汗!!!) |