这java是传值的,如何交换两个int值啊
int不是对象啊

解决方案 »

  1.   

    public class ExchangePara {
    public static void main(String args[]){
    int a = 1;
    int b = 2;

    exchange(a, b);
    }

    public static void exchange(int a, int b){
    a = a ^ b;
    b = a ^ b;
    a = a ^ b;

    System.out.print(a +" "+ b);
    }
    }
    2 1
      

  2.   

    变成 Integer
    就可以了 
      

  3.   

    变成integer么废话,我现在就要交换两个int
      

  4.   

    再加个变量不行么?
    a=1 b=2  c
    c=a
    a=b
    b=c静态方法是什么样的
      

  5.   

    你这也是交换成功?在主函数打印下a,b看看。java对基本类型是传值哦。
      

  6.   

    变成Integer也没用。
    使用数组,交换数组的两个位置的元素。或者单独提供一个类,将a,b和作为它的field
      

  7.   

    java的基本类型是传值啊,没有传址这一说啊,如果用C的话就可以写成swap(int &a, int &b)传址了。
    楼上的兄弟说的对,麻烦1,2,3楼的先把System.out.print(a+""+b);放在主函数里看看结果再说。
      

  8.   

    public class ExchangePara {
        public static void main(String args[]){
            int a = 1;
            int b = 2;
            
            exchange(a, b);
        }
        
        public static void exchange(int a, int b){
         int c;
            c = a;
            a = b;
            b = c;
            
            System.out.print(a +" "+ b);
        }
    }
      

  9.   

    楼主的意思不就是:写一个静态方法,两个int参数,交换传进来的参数    我达到目的就行了啊   至于传值  我也知道...
      

  10.   

    你把它在转回int不就完了,你说话干净点
      

  11.   

    感觉这个问题是没有意义的问题,既然是int型,你在用的时候,传参顺序改变就可以了。干嘛要交换?难道有这个需求?不解中...
      

  12.   

    这在JAVA里实现不了的,不管是Integer或者int,JAVA没指针,也没传引用调用,函数调用都是By Value,如果是原生类型,传的是变量的值的副本;如果是对象,传的是对象的引用的值的副本.