本帖最后由 ♂超√/kun 于 2013-3-16 16:28 编辑
- <P> //优化后程序 十进制转换 二进制 八进制 十六进制
- class Cainiao03
- {
- public static void main(String[] args)
- {
- tobin(6);
- toba(60);
- tohex(60);</P>
- <P> }
- //十进制-->二进制
- public static void tobin(int num)
- {
- trans(num,1,1);
- }
- //十进制 转 8进制
- public static void toba(int num)
- {
- trans(num,7,3);
- }
- //十进制 转16进制
- public static void tohex(int num)
- {
- trans(num,15,4);
- }
- public static void trans(int num , int base , int offset)
- // &上的基数 位移几位
- {
- if(num==0)
- {
- System.out.println(0);
- return ;
- }
- char[] chs = {'0','1','2','3',
- '4','5','6','7',
- '8','9','A','B',
- 'C','D','E','F'};
- char[] arr = new char[32];
- int pos = arr.length;
- while(num!=0)
- {
- int temp = num & base;
- arr[--pos] = chs[temp];
- num = num >>> offset;
- }
- for(int x=pos; x<arr.length; x++)
- {
- System.out.print(arr[x]);
- }
- System.out.print('\n');
- }
- }</P>
复制代码 问题是 为什么要定义 char类型 别的行不行 最后一句代码 System.out.print('\n'); 起到了什么作用?
总结 因为字符所以用CHAR 是吧! 没有别的可以替代了! \n 是打印完换行
|