黑马程序员技术交流社区
标题:
关于进制转换打印的问题
[打印本页]
作者:
chenwei0407
时间:
2015-5-4 01:53
标题:
关于进制转换打印的问题
为什么这个程序执行以后前面就打印空格?0到哪里去了呢?
结果是 , , , ,0,0,3,C,
class ArrayTest
{
public static void main(String[] args)
{
toHex(60);
}
public static void toHex(int num)
{
char[] chs = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
char[] arr = new char[8];
for (int x=0;x<8 ;x++ )
{
int temp = num & 15;
arr[x] = chs[temp];
num = num >>> 4;
System.out.print(arr[7-x]+",");
}
}
}
复制代码
作者:
飒飒
时间:
2015-5-4 02:49
本帖最后由 飒飒 于 2015-5-4 02:52 编辑
因为 char[] arr = new char[8]定义时其中的元素都是null,循环执行的时候,当x=0时,arr[7-0]中还是null,所以打印出来空格;以此类推,到arr[3]的时候才开始有值,便打印出0.
作者:
chenwei0407
时间:
2015-5-4 11:11
飒飒 发表于 2015-5-4 02:49
因为 char[] arr = new char[8]定义时其中的元素都是null,循环执行的时候,当x=0时,arr[7-0]中还是null, ...
受教了,谢谢!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2