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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

刘士

中级黑马

  • 黑马币:0

  • 帖子:84

  • 精华:0

© 刘士 中级黑马   /  2012-4-6 21:27  /  2157 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


  1. public class chaBiaoFa {

  2.         /**
  3.          * 查表法
  4.          * @param args
  5.          */
  6.         public static void main(String[] args) {
  7.                 // TODO Auto-generated method stub
  8.                 toHex(60);
  9.                 System.exit(0);
  10.         }
  11.         public static void toHex(int num){
  12.                 char[] arr = new char[8];
  13.                 int p = arr.length;
  14.                 char[] chs = {'0','1','2','3'
  15.                                          ,'4','5','6','7'
  16.                                          ,'8','9','A','B'
  17.                                          ,'C','D','E','f'};
  18.                 while(num!=0) {
  19.                         int tmp = num&15;
  20.                         arr[--p] = chs[tmp];
  21.                         num >>>=4;
  22.                 }
  23.                 for(int i = p;p<arr.length;p++){
  24.                         System.out.print(arr[i]);
  25.                 }
  26.         }
  27. }
复制代码
为什么我的输出结果是
33

4 个回复

倒序浏览
24.                for(int i = p;p<arr.length;p++){
25.                        System.out.print(arr[i]);
楼主定义i=p以后就没变过,其实就是输出了2次arr[6],建议改为
24.                for(int i = p;i<arr.length;i++){
25.                        System.out.print(arr[i]);
或者直接来p就不要i了

评分

参与人数 1黑马币 +1 收起 理由
刘士 + 1 谢谢你了。检查了很多次,都没有看到为啥。.

查看全部评分

回复 使用道具 举报
{:soso_e109:}要技术分

点评

太贪心了吧。技术分,由老师给的,我只能给你点零花钱了。。。  发表于 2012-4-6 22:22
回复 使用道具 举报
{:soso_e154:}
回复 使用道具 举报
在看完这帖子以后,我没有立即回复,因为我生怕我庸俗不堪的回复会玷污了这网上少有的帖子。但是我还是回复了,因为觉得如果不能在如此精彩的帖子后面留下自己的网名,那我死也不会瞑目的!能够在如此精彩的帖子后面留下自己的网名是多么骄傲的一件事啊!楼主,请原谅我的自私!我知道无论用多么华丽的辞藻来形容楼主您帖子的精彩程度都是不够的,都是虚伪的,所以我只想说一句:您的帖子太好看了!我愿意一辈子的看下去!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马