Discuss / Java / 进制转换。。。感觉思路没问题,但是实际写的时候就觉得不太熟悉语言。而且一开始不自觉的用递归写了。

进制转换。。。感觉思路没问题,但是实际写的时候就觉得不太熟悉语言。而且一开始不自觉的用递归写了。

Topic source

16gXqPH

#1 Created at ... [Delete] [Delete and Lock User]
static String toHex(int n) {
        return useStack(n);
        //return recu(n);
    }
    //用栈来做
    static String useStack(int n){
        Deque<String> st =new  LinkedList<>();
        var sb =new StringBuilder();
        for(;n>0;n/=16){
            st.push(toAbc(n%16));
        }
        for(String s : st){
            sb.append(s);
        }
        return sb.toString();
    } 



    //递归来做这个
    static String recu(int n){
        return n>16?recu(n/16) + toAbc(n%16): toAbc(n);
    }



    //转换为字母
    //我不太熟java的各种方法,别笑我,这个地方略简陋
    static String toAbc(int n) {
        return n>9?Character.toString(n+55):Integer.toString(n);
    }


_small_snail

#2 Created at ... [Delete] [Delete and Lock User]

属实厉害!


  • 1

Reply