两个变量不借助第三方怎么交换
两个变量不借助第三方怎么交换
两个变量不借助第三方怎么交换
两个变量不借助第三方怎么交换
两个变量不借助第三方怎么交换

解决方案 »

  1.   

    a=b+a;
    b=a-b;
    a=a-b;
    比较靠谱!
      

  2.   


    异或方式
    public static void main(String[] args) {
    long x = 10;
    long y = 20;
    x = x ^ y;
    y = x ^ y;
    x = x ^ y;
    System.out.println("X:" + x + "\n" + "Y:" + y);
    }不过该方法只适合整形变量!
      

  3.   

    是的啊,反正是以补码的方式进行运算的,溢出后,进位and借位抵消了
      

  4.   

    昨天的问题,今天又问。
    还有,两个变量,你们看一下。
    String s0 = "aaa"
    String s1 = "bbb"
    请大家告诉我这两个变量怎么换?
      

  5.   

    道理类似,先拼接,然后用substring
      

  6.   


    int a=21,b=34;//交换
    a^=b;
    b^=a;
    a^=b;
      

  7.   


    public static void main(String[] args) {
    String a="xx";
    String b="yy";
    a=a+b;
    b=a.substring(0, a.length()-b.length());
    System.out.println(b);
    a=a.substring(b.length(), a.length());
    System.out.println(a);
    }
    结果正常
      

  8.   

    a=b+a;b=a-b;a=a-b;
    或者借用指针(c语言)
      

  9.   

     String a="aaa";
     String b="bbb";
     a+=","+b;
     b=a.split(",")[0];
     a=a.split(",")[1];
    System.out.println(a);
    System.out.println(b);
      

  10.   

    如果a="a.b"
    b="a.c"
    呢?
    字符具有不确定性
      

  11.   

    public static void main(String[] args){

    String s = "aaa";
    String s1 = "bbb";
    s = s1 + s;
    s1 = s.substring(3);
    s = s.substring(0, 3);
    System.out.println(s  + "\n" + s1);
    }