当前位置: 代码迷 >> Java相关 >> [求助]老师布置的一题作业(初学者)
  详细解决方案

[求助]老师布置的一题作业(初学者)

热度:67   发布时间:2007-01-03 00:18:17.0
以下是引用千里冰封在2006-12-30 20:50:11的发言:
是的,用Integer的引用,也可以用数组实现

真聪明
我就没想过integer用在这里这么合适


----------------解决方案--------------------------------------------------------
在java解惑中看到这样一个表达式,不用引进临时变量就可以交换两个int变量的值,呵呵
int a = 1;
int b = 2;
b = (a^=(b^=a))^b;
----------------解决方案--------------------------------------------------------

楼上的方法,对于参数是不能改变的,


----------------解决方案--------------------------------------------------------
警告一下,Integer、Long、String、Char等装箱器得值为了安全起见,在Java中是不允许被改变的。
所以,无论你传递Integer还是int,都不可能实现你的目标,此题无解

----------------解决方案--------------------------------------------------------
传数组的引用就可以有解

此数组包括两个数据,在里面改了,外面一样也改了

----------------解决方案--------------------------------------------------------
按照你这么说,我还如传递两个List呢~~
----------------解决方案--------------------------------------------------------
日,一个数组只是一个对象而已,你传两个List不知道传了多少对象
----------------解决方案--------------------------------------------------------
是阿,你只能 两两相交 ~~而偶的却能 群交
----------------解决方案--------------------------------------------------------
你这个下流的男人

----------------解决方案--------------------------------------------------------
public class Swap{
public static void main(String args[]){
Integer x = 1;
Integer y = 2;
swap(x,y);
System.out.println("x=" + x + " y=" + y);

int a[] = {1,2};
swap(a);
System.out.println("a[0]=" + a[0] + " a[1]=" + a[1]);
}

public static void swap(Integer a,Integer b){ //不起作用
Integer temp = a;
a=b;
b=temp;
}
public static void swap(int[] a){ //起作用
int temp = a[0];
a[0] = a[1];
a[1] = temp;
}
}
----------------解决方案--------------------------------------------------------
  相关解决方案