黑马程序员技术交流社区
标题:
黑马技术论坛,我想把他正打印,怎么破,用什么代码
[打印本页]
作者:
唐洪超
时间:
2015-12-12 14:24
标题:
黑马技术论坛,我想把他正打印,怎么破,用什么代码
class ArrayTest
{
public static void main(String[] args)
toHex(60);
}
/*
十进制-->16进制
*/
public static void toHex(int num)
{
for(int x=0;x<8;x++)
{
int temp=num & 15;
if (temp>9)
System.out.println((char)(temp-10+'A'));
else
System.out.println(temp);
sb.append(temp);
num=num>>4;
}
System.out.println(sb.reverse());
}
作者:
1050498188
时间:
2015-12-22 14:08
不错不错不错不错不错不错
作者:
Hi.。
时间:
2015-12-22 23:01
sb.toString();方法,是直接打印
作者:
隔壁老猫
时间:
2015-12-22 23:38
public static void trans(int num, int base, int offest) { //十进制转其他进制
if (num == 0) {
System.out.println(0);
}
char[] chs = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
//定义一个临时数组用来储存每次与上base的结果
char[] arr = new char[32]; //如果base是1, err的长度最大, 为32.
//定义一个操作数组的指针, 从arr中最后一个角标开始存储
int pos = arr.length; //因为先--, 所以pos 不用 = arr.length-1 .
//开始循环
while(num != 0) {
//定义一个临时变量来记录每次与上base的结果
int temp = num & base;
//在chs中查找与temp相对应的字符, temp 最大为15, chs中15号角标正好为F.
arr[--pos] = chs[temp];
//pos-- //发现最后一次循环后pos还要自减一次, 所以先--
num = num >>> offest;
}
System.out.print("转换后: ");
for (int x = pos; x < arr.length; x++) {
System.out.print(arr[x]);
}
System.out.println();
System.out.println("----------------------------");
}
public static void toBin(int num) { //转二进制
trans(num, 1, 1);
}
public static void toOctal(int num) { //转八进制
trans(num,7,3);
}
public static void toHex(int num) { //转十六进制
trans(num,15,4);
}
主函数没写, 你自己随便扔一个进去吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2