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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郭利超 高级黑马   /  2013-3-16 16:09  /  1042 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 ♂超√/kun 于 2013-3-16 16:28 编辑

  1. <P> //优化后程序   十进制转换 二进制 八进制 十六进制
  2. class Cainiao03
  3. {
  4. public static void main(String[] args)
  5. {
  6.   tobin(6);
  7.   toba(60);
  8.   tohex(60);</P>
  9. <P> }
  10. //十进制-->二进制
  11. public static void tobin(int num)
  12. {
  13.   trans(num,1,1);
  14. }
  15. //十进制 转 8进制
  16. public static void toba(int num)
  17. {
  18.   trans(num,7,3);
  19. }
  20. //十进制 转16进制
  21. public static void tohex(int num)
  22. {
  23.   trans(num,15,4);
  24. }
  25. public static void trans(int num , int base , int offset)
  26.   //                              &上的基数  位移几位
  27. {
  28.   if(num==0)
  29.   {
  30.    System.out.println(0);
  31.    return ;
  32.   }
  33.   char[] chs = {'0','1','2','3',
  34.        '4','5','6','7',
  35.        '8','9','A','B',
  36.              'C','D','E','F'};
  37.   char[] arr = new char[32];
  38.   int pos = arr.length;
  39.   while(num!=0)
  40.   {
  41.    int temp = num & base;
  42.    arr[--pos] = chs[temp];
  43.    num = num >>> offset;
  44.   }
  45.   for(int x=pos; x<arr.length; x++)
  46.   {
  47.    System.out.print(arr[x]);
  48.   }
  49.   System.out.print('\n');
  50. }
  51. }</P>
复制代码
问题是 为什么要定义 char类型  别的行不行   最后一句代码  System.out.print('\n'); 起到了什么作用?
总结 因为字符所以用CHAR 是吧! 没有别的可以替代了!    \n 是打印完换行

点评

如果你的问题已经得到解决,请将主题改为[已解决],如果还有问题请继续追问,谢谢  发表于 2013-3-16 16:25

评分

参与人数 1技术分 +1 收起 理由
贾文泽 + 1

查看全部评分

3 个回复

倒序浏览
System.out.print('\n');

起到了换行的作用。。 字符用char定义
回复 使用道具 举报
定义的char型数组、
老师这里是用的叫“查表法”吧。
单个的0123456789ABCDEF 字符 。用char定义。
  1. System.out.print('\n');
复制代码
“换行”的作用。
“\n”
“\r\n”
都是换行

评分

参与人数 1技术分 +1 收起 理由
贾文泽 + 1

查看全部评分

回复 使用道具 举报
1、你好。在你的这个程序中,把数转换成其他进制的数,是通过查表的方式进行的。把要转换的数的每一位与进制数相与,将所得的结果再到先前定义的表中去查找,将对应的字符在存进定义好的数组里。等全部转化以后,再把这个数组里的字符输出,完成了对应的转化。既然每次取出来的都是一个字符,肯定要定义成字符变量啊。
2、  System.out.print('\n');这一句的功能是换行。\n是转义字符,是换行。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马