黑马程序员技术交流社区
标题:
来找错吧 纠结了我半小时~~终于发现问题了
[打印本页]
作者:
Imp_x
时间:
2014-8-20 23:58
标题:
来找错吧 纠结了我半小时~~终于发现问题了
class JinZhi
{
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];
int js=0;
while(num!=0)
{
arr[js] = chs[num&15];
num=num>>>4;
js++;
}
for (int x=js;x>=0 ;x--)
{
System.out.print((char)arr[x]);
}
}
}
复制代码
作者:
马嘉
时间:
2014-8-21 07:09
我也是初学者,
14. arr[js] = chs[num&15];
15. num=num>>>4;
这两是什么意思呀,我不太明白
作者:
潘多拉
时间:
2014-8-21 08:52
求十六进制的问题?把num的后四位作为chs的下标来求出十六进制赋给数组,不知道是要干嘛,如果要利用数组,就应该num&15以后跟chs中的数比较,如果相同就存入arr,这样也许就行了
作者:
Imp_x
时间:
2014-8-21 09:37
马嘉 发表于 2014-8-21 07:09
我也是初学者,
14. arr[js] = chs[num&15];
就是把num&15后的这个数作为chs的角标去查表所得的数据 存进去数字arr[js]里
作者:
冒牌高手
时间:
2014-8-22 07:49
18行的 int x=js-1;
作者:
叶飞翔
时间:
2014-8-22 10:09
冒牌高手 发表于 2014-8-22 07:49
18行的 int x=js-1;
对,就是这个问题。因为循环将要结束的时候,js又自增了,但是这个下标的字符不存在。
作者:
十指紧扣
时间:
2014-8-22 11:57
加油!………………………………
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2