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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 史政法 于 2013-4-3 05:14 编辑
  1. public static void removie(char[] chr,int a ,int b)
  2.         {
  3.                 chr[a] = chr[a]^chr[b];
  4.                 chr[b] = chr[a]^chr[b];
  5.                 chr[a] = chr[a]^chr[b];
  6.         }

  7.         字符数组没法使用异或进行位置的置换?
复制代码
什么情况?

评分

参与人数 1技术分 +1 收起 理由
张熙韬 + 1

查看全部评分

5 个回复

正序浏览
史政法 发表于 2013-4-3 05:13
BINGO,,,,,,,,,我真是个大脑残,,,,,,昨天突然才想到,异或是2位运算符,,,,,,,,, ...

public static void removie(char[] chr,int a ,int b)
        {
                chr[a] = (char)(chr[a]^chr);
                chr = (char)(chr[a]^chr);
                chr[a] = (char)(chr[a]^chr);
        }
强转一下运行后的结果类型,否则无法赋值。
回复 使用道具 举报
hg3093483 发表于 2013-4-3 01:39
小弟认为,二进制 0 和1 的异或运算时可以进行真假判断,但是字符类型不是二进制啊,怎么能异或 ...

BINGO,,,,,,,,,我真是个大脑残,,,,,,昨天突然才想到,异或是2位运算符,,,,,,,,,
回复 使用道具 举报
小弟认为,二进制 0 和1 的异或运算时可以进行真假判断,但是字符类型不是二进制啊,怎么能异或
回复 使用道具 举报
没人知道吗?这个方法运行后是挂的。。。。。。WHY?
回复 使用道具 举报
应该是不行吧  因为字符对应的是编码表  系统应该不会让你这么做的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马