黑马程序员技术交流社区

标题: 借助StringBuffer实现进制转换 [打印本页]

作者: 木木三    时间: 2015-9-16 22:50
标题: 借助StringBuffer实现进制转换
  1. /*
  2. 利用查表法实现进制转换
  3. 思路:
  4. 1,定义16进制的表;
  5. 2,&15查表,StringBuffer添加查表结果;
  6. 3,反向打印StringBuffer.reverse()。
  7. */

  8. class ArrayTest{
  9.         public static void main(String[] args){
  10.                 //60的16进制转换
  11.                 toTrans(60,16,4);
  12.         }
  13.        
  14.         public static void toTrans(int num, int base, int offset){
  15.                 char[] chs = {'0','1','2','3',
  16.                                         '4','5','6','7',
  17.                                         '8','9','A','B',
  18.                                         'C','D','E','F'};
  19.                 StringBuffer sb = new StringBuffer();
  20.                
  21.                 while(num!=0){
  22.                         int temp = num&(base-1);
  23.                         sb.append(chs[temp]);
  24.                         //16进制每4位表示一位,即右移4位
  25.                         num = num >>> offset;
  26.                 }
  27.                 System.out.println(sb.reverse());
  28.         }
  29. }
复制代码







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