黑马程序员技术交流社区

标题: 关于代码编写的小疑问 [打印本页]

作者: 郭利超    时间: 2013-3-16 16:09
标题: 关于代码编写的小疑问
本帖最后由 ♂超√/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:17
System.out.print('\n');

起到了换行的作用。。 字符用char定义
作者: 爪哇攻城狮    时间: 2013-3-16 16:21
定义的char型数组、
老师这里是用的叫“查表法”吧。
单个的0123456789ABCDEF 字符 。用char定义。
  1. System.out.print('\n');
复制代码
“换行”的作用。
“\n”
“\r\n”
都是换行
作者: 何仕映    时间: 2013-3-16 16:24
1、你好。在你的这个程序中,把数转换成其他进制的数,是通过查表的方式进行的。把要转换的数的每一位与进制数相与,将所得的结果再到先前定义的表中去查找,将对应的字符在存进定义好的数组里。等全部转化以后,再把这个数组里的字符输出,完成了对应的转化。既然每次取出来的都是一个字符,肯定要定义成字符变量啊。
2、  System.out.print('\n');这一句的功能是换行。\n是转义字符,是换行。




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