应该是你的字符数组arr初始化有问题,应该是字符数组初始化的时候里面默认值是'a',你打印一下看看。
- class ToHexDemo
- {
- 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];
- //打印一下arr,看看里面初始化的内容
- System.out.print("初始化arr:");
- sopArr(arr);
- int pos=arr.length;
- while(num!=0)
- {
- int temp=num&15;
- //System.out.println(chs[temp]);
- arr[--pos]=chs[temp];
- num=num>>>4;
- }
- //打印一下arr,看看里面的赋值内容
- System.out.print("\n\n给arr赋值后:");
- sopArr(arr);
- }
- //打印方法
- public static void sopArr(char[] arr){
- //输出arr里面的内容
- System.out.println("\narr里面的内容是:");
- for(int x=0;x<arr.length;x++)
- {
- System.out.print(arr[x]+",");
- }
- System.out.println("\narr里面的字节对应的ASCII码是:");
- //讲arr里面的字节转换成ASCII输出
- for(int x=0;x<arr.length;x++)
- {
- System.out.print((int)arr[x]+",");
- }
- }
- }
复制代码
打印结果是:
|