有两个int型的数字,int a=1,int b=2;要求在不声明第三个变量的情况下是a、b换位,请教各位达人

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【shohokuskl】截止到2008-07-14 15:46:48的历史汇总数据(不包括此帖):
    发帖的总数量:2                        发帖的总分数:20                       每贴平均分数:10                       
    回帖的总数量:0                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:1                        结贴的总分数:20                       
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:1                        未结的总分数:0                        
    结贴的百分比:50.00 %               结分的百分比:100.00%                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    楼主加油
      

  2.   

    a=a+b;
    b=a-b;
    a=a-b;
    你自己试试
      

  3.   

    这个纯粹是无聊。就面试用用实际应用中,你问下面试你的那个人会不会声明第三个变量,我看多半会声明一个temp真写这样的代码,可读性太差劲了。等着被开除吧。
      

  4.   

    a=a+b; 
    b=a-b; 
    a=a-b; 
      

  5.   

    a=a+b; 
    b=a-b; 
    a=a-b; 
      

  6.   

    a = a ^ b;
    b = b ^ a;
    a = a ^ b;
      

  7.   

    a = a+b;
       b = a-b;
       a = a-b;
    很老的一道题了..
      

  8.   

       a = a+b;
       b = a-b;
       a = a-b;
      

  9.   

    也可以是String类型:
    public static void main(String[] args)
    {
    String a="hello";
    String b="help";
    System.out.println("输出原来这两个字符串a="+a+"和b="+b);
    a=a+b;
    b=a.substring(0,a.length()-b.length());
    a=a.substring(b.length(),a.length());
    System.out.println("输出交换完这两个字符串a="+a+"和b="+b);
    }