A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

严海燕

中级黑马

  • 黑马币:0

  • 帖子:26

  • 精华:0

© 严海燕 中级黑马   /  2013-4-5 18:13  /  1447 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 严海燕 于 2013-4-5 20:58 编辑

按照毕老师的视频我打印出来的为什么有问题,请高手们帮我看看??
//对两个整数变量的值进行互换(不需要第三方变量)
class Demo3
{
public static void main(String[] args);
  int n=3,m=8;
        n  = n^m;
       m = n^m;//(n^m)^m
       m  = n^m;//n^(n^m)

{
  System.out.println("n="+n+",m="+m);
   }
  }

未命名.jpg (20.48 KB, 下载次数: 10)

未命名.jpg

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

5 个回复

倒序浏览
本帖最后由 邓宫财 于 2013-4-5 18:27 编辑
  1.         int n = 3,m = 8;
  2.         n = n^m;
  3.         m = n^m;
  4.         n = m^n;//这一步你弄错了。
  5.         
  6.         System.out.println(n +" "+ m);
复制代码
其实这个结果并不是很重要,重要的是你要了解。^异或的运算方法。

n = 3 0011
m = 8 1000
n = n^m 1011
m = n^m 0011
n = m ^ n 1000

异或的原理就是不同有一个1才是1
就是同一个数,异或另一个数两次之后就变回来了。
回复 使用道具 举报
本帖最后由 范龙波 于 2013-4-5 18:43 编辑

public static void main(String[] args);    //把那个分号去掉
  int n=3,m=8;                                 //前面少个大括号  {int n=3,m=8;
        n  = n^m;
       m = n^m;//(n^m)^m
       m  = n^m;//n^(n^m)                      //这行的第一个m应该是n吧。 n=n^m

{                                                           //把这个大括号去掉。
  System.out.println("n="+n+",m="+m);
   }

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢
回复 使用道具 举报
  1. class Demo3
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int n=3,m=8;
  6.                 System.out.println("交换前:n="+n+"\tm="+m);

  7.         n  = n^m;
  8.         m  = n^m;//(n^m)^m
  9.         n  = n^m;//n^(n^m)

  10.                 System.out.println("交换后:n="+n+"\tm="+m);
  11.         }
  12.    
  13. }
复制代码
运行结果:

test.png (8.19 KB, 下载次数: 16)

test.png
回复 使用道具 举报
public static void main(String[] args){   
  int n=3,m=8;                                 
        n  = n^m;
       m = n^m;//(n^m)^m
       n  = m^n;//n^(n^m)                     
  System.out.println("n="+n+",m="+m);
   }
你应该注意格式的书写 熟悉^ 和//的应用
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马