黑马程序员技术交流社区
标题:
如何用方法实现两个整数的交换呢
[打印本页]
作者:
hahaxiaohe
时间:
2015-11-6 10:53
标题:
如何用方法实现两个整数的交换呢
试了一下,但是发现最后 形式参数的赋值改变, 不改变实际参数的值啊. 有没有什么好的方法?
作者:
didixyy
时间:
2015-11-6 11:09
方法传递参数是肯定不行的,因为方法出栈后,方法里变量就消失了(没有在堆内存里开辟空间),除非你把变量记录在数组里,然后交换数组内的内容
作者:
阿呆2015
时间:
2015-11-6 12:25
/*1,明确返回值类型void
2,明确参数列表int[] arr
*/
class Demo1
{
public static void main(String[] args)
{
int[] arry={1,2,3,4,5};
getEqual(arry);
exchange(arry);
}
public static void getEqual(int[] arry)
{
for (int i =0;i<arry.length/2 ;i++ )
{
int temp = arry[i];
arry[i]=arry[arry.length-1-i];
arry[arry.length-1-i]=temp;
}
}
public static void exchange(int[] arry)
{
for (int j= 0;j<arry.length ;j++)
{
System.out.println(arry[j]+" ");
}
}
}
复制代码
作者:
阿呆2015
时间:
2015-11-6 12:26
阿呆2015 发表于 2015-11-6 12:25
这样行吗????
作者:
WosLovesLife
时间:
2015-11-6 13:54
我记得最早看关于操作符的视频的时候,讲过用位移什么可以实现,一句话就搞定了……但是完全不记得怎么做。
作者:
WosLovesLife
时间:
2015-11-6 13:56
本帖最后由 WosLovesLife 于 2015-11-6 13:57 编辑
刚才百度了下就找到了http://blog.csdn.net/zlqqhs/article/details/8182637
int x = 10;
int y = 20;
x = x ^ y;
y = x ^ y;
x = x ^ y;
另外楼主有兴趣可以看看网刚发表的一个帖子,苦于没人看来拉人气……。
作者:
刘旭波
时间:
2015-11-6 21:04
6楼用的是与非的方法吧?
作者:
Jared
时间:
2015-11-6 23:29
怎么看楼层
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2