黑马程序员技术交流社区
标题:
大家帮忙分析一下下面代码
[打印本页]
作者:
于文露
时间:
2011-9-28 18:19
标题:
大家帮忙分析一下下面代码
class ArrayTest
{
public static void main(String[] args)
{
//toBin(6);
toHex_2(1);
}
/*
查表法
*/
public static void toHex_2(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];
int pos = arr.length;
while(num!=0)
{
arr[--pos] = chs[num&15];
num=num>>>4;
}
for(int x=pos;x<arr.length;x++)
{
System.out.print(arr[x]+',');
}
}
}
我的运行结果是93,如果是想得到60的十六进制,运行结果是95111,得不出毕老师的结果3c
到底是怎么回事呢,是代码有误么,还是机器的原因呢
作者:
匿名
时间:
2011-9-28 19:29
for(int x=pos;x<arr.length;x++)
{
System.out.print(arr[x]);
}
前面的都没有问题,for循环的打印语句错了,把+','去掉或改成
","------>这才是能打印逗号
作者:
匿名
时间:
2011-9-29 01:29
楼主,这个就是粗心,大家都比较容易犯这种错误,比如那个单词打错了,或者由于汉语和拼音的切换问题
你这个就是在for循环的输出语句中
System.out.println(arr[x]+",");
是双引号,而不是单引号
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2