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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 尘埃落定 中级黑马   /  2014-7-18 17:03  /  1021 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如下内容:
十进制转十六进制的代码,为什么结果不对?



  1. public static void toHex(int num)
  2.         {
  3.                 StringBuffer sb = new StringBuffer();
  4.                 while (num!=0)
  5.                 {
  6.                         int n1 = num&15;
  7.                         System.out.println(n1);
  8.                         if (n1>9)
  9.                         {
  10.                                 sb.append((char)(n1-10+'a'));
  11.                         }
  12.                         else
  13.                         {
  14.                                 sb.append(n1);
  15.                         }
  16.                         n1 = n1>>>4;
  17.                 }
  18.                 System.out.println(sb.reverse());
  19.         }
复制代码

4 个回复

倒序浏览
sb.reverse()这个方法在哪??
回复 使用道具 举报
More 发表于 2014-7-18 17:27
sb.reverse()这个方法在哪??

发现错误了,右移四位的是num,不是n1。
回复 使用道具 举报
sb.reverse(),字符串缓冲里有,反转字符串的字符
回复 使用道具 举报
尘埃落定 发表于 2014-7-18 18:06
发现错误了,右移四位的是num,不是n1。

意思是你那个方法定义了  但是你没复制过来是吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马