日期:2014-05-20  浏览次数:20577 次

java下这个函数出错了该怎么写
void   Swap(int   &a,int   &b)
{
int   temp=a;a=b;b=temp;
}

如题,谢谢,新手,极新!

------解决方案--------------------
void Swap(int a,int b)
{
int temp=a;a=b;b=temp;
}
------解决方案--------------------
有什么提示?
------解决方案--------------------
楼主发错地方了,应该到 C 板块去。
------解决方案--------------------
不用加&
同意楼上,及楼上的楼上的楼上
------解决方案--------------------
public class Test0001
{
public static void main(String[] args)
{
int a = 10;
int b = 20;
(new Test0001()).Swap(a,b);
}

void Swap(int a, int b) {
int temp;
temp = a;
a = b;
b = temp;
System.out.println( "new a= " + a + " b= " + b);
}
}
------解决方案--------------------
什么意思,你说函数不起作用?
------解决方案--------------------
to stefli:
把print放到main函数里就知道了
class MyClass{
int a;
int b;
}
void swap(MyClass c){
int d = c.a;
c.a=c.b;
c.b = d
}
------解决方案--------------------
楼主至少要把错误的现象描述一下吧。
------解决方案--------------------
java是严格的值传递,SWAP不可能