就是这个简单的程序,我传递引用时会出错:import java.io.*;
class Test{
public static void main(String[] args)
{
int x = 3;
int y = 4;
changeXY(x,y);
}
public static void changeXY(int& x, int& y)
{
x = (x+y)/2;
y = x-y;
x = x-y;
y = (x-2*y)/2;
System.out.println(x);
System.out.println(y);
}
}错误为:需要<标识符>,这是为什么啊,难道java不能传递引用参数???

解决方案 »

  1.   

    public static void changeXY(int& x, int& y)
    int& x, int& y 是什么意思 当是c++?
    java 参数直接用 int x ,int y 就可以了 调用 changeXY(x,y)直接传递参数
      

  2.   

    java 语言传参是传值的,你的那个传引用在C++中可以,但在java中不好使。
    要想交换全局变量x,y的值,还是使用this吧,否则是瞎子点灯——白费蜡。
      

  3.   

    去掉&,建议你去看看java数据类型,int是基本型,传的是值,传引用也是直接写变量名,不写&
      

  4.   

    但是直接写变量名,是改变不了main中的x,y的值的,2楼说的对~
      

  5.   

    ref int a, ref in b
      

  6.   


    //java 一切皆引用,原来的程序x,y只有在作用域中有效,
    //如果要返回值,可以返回一个数组对象,里边就包括x,y改变后的值
    import java.io.*;public class TestQuote {    public static void main(String[] args) {
    int x = 3;
    int y = 4;
    int a[] = changeXY(x, y);
    x = a[0];
    y = a[1];
    // System.out.println(x);
    // System.out.println(y);
    //
        }
        public static int[] changeXY(int x, int y) {
    x = (x + y) / 2;
    y = x - y;
    x = x - y;
    y = (x - 2 * y) / 2;
    // System.out.println(x);
    // System.out.println(y);
    return new int[]{x,y};

        }
    }