十进制n转十六进制数方法:1、n&15赋值给容器;2、n右移4位并赋值给n;3、重复1,2。这个原理应该是正确的,写成代码,编译提示错误。代码如下:
class DToH
{
/*十进制转16进制*/
public static void dToH(int a)
{
StringBuffer mySb = new StringBuffer();
do
{
if(a&15<10)
mySb.append(a&15);
else
mySb.append((char)(a&15-10+'A'));
System.out.println(((a&15)-10+'A'));
a = a>>>4;//a>>4不是正确的语句,>>>的原因:如果是负数,
}
while (a>0);
System.out.println(mySb.reverse());//引用StringBuffer的属性时,要加上()
}
public static void main(String[] args)
{
int num = 6;
int num1 = 60;
//int[] arr = new int[3];
dToB(num);
dToH(num1);
}
}
一起来看看 我错在哪里?
|
|