Java 将数字转为16进制,然后转为字符串类型 将空格去掉。终结版

//十进制转为十六进制
public class ArrayTest7 {
    public static void main(String[] args){
        System.out.println(toHex(60));
    }
    
    //十进制转为十六进制的每一位都是十六进制元素中的某一个
    //十六进制的元素有很多固定个数,而且还有对应的编号。所以可以用查表发
    
    
    public static String toHex(int num) 
    {
        char[] chs = {
                '0','1','2','3',
                '4','5','6','7',
                '8','9','A','B',
                'C','D','E','F'
        };
        //2.创建临时容器
        char[] arr = new char[8];
        
        //3.创建操作临时容器的角标
        int index = arr.length;
        
        //4.通过循环对num进行&>>>等运算
        while(num != 0) 
        {
            //5.对num进行&运算
            int temp = num & 15;
            //6.根据&运算后的结果作为角标查表,获取对应的字符,并将字符存储到临时容器中
            arr[--index] = chs[temp];
            //7.对num进行右移
            num = num >>>4;
        }
        return "0x"+toString(arr,index);
    }
    
    public static String toString(char[] arr,int index){
        String temp = "";
        for(int i = index;i<arr.length;i++){
            temp = temp + arr[i];
        }
        return temp;
    }
}

 

posted @ 2017-05-19 11:11  羊羊羊&#128017;  Views(1451)  Comments(0Edit  收藏  举报