黑马程序员技术交流社区

标题: 查表法进制转换出错了 [打印本页]

作者: 刘士    时间: 2012-4-6 21:27
标题: 查表法进制转换出错了

  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

作者: 冯瀚冰    时间: 2012-4-6 22:04
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了
作者: 冯瀚冰    时间: 2012-4-6 22:21
{:soso_e109:}要技术分
作者: 冯瀚冰    时间: 2012-4-6 22:27
{:soso_e154:}
作者: pray    时间: 2014-4-26 03:27
在看完这帖子以后,我没有立即回复,因为我生怕我庸俗不堪的回复会玷污了这网上少有的帖子。但是我还是回复了,因为觉得如果不能在如此精彩的帖子后面留下自己的网名,那我死也不会瞑目的!能够在如此精彩的帖子后面留下自己的网名是多么骄傲的一件事啊!楼主,请原谅我的自私!我知道无论用多么华丽的辞藻来形容楼主您帖子的精彩程度都是不够的,都是虚伪的,所以我只想说一句:您的帖子太好看了!我愿意一辈子的看下去!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2