Discuss / Java / toHex

toHex

Topic source

唉服Ier

#1 Created at ... [Delete] [Delete and Lock User]
import java.util.Map;
import java.util.HashMap;
import java.util.Deque;
import java.util.LinkedList;
import java.lang.StringBuffer;

public class Example01{
    public static void main(String[] args) {
        String hex = toHex(12500);
        if (hex.equalsIgnoreCase("30D4")) {
            System.out.println("测试通过");
        } else {
            System.out.println("测试失败");
        }
    }

    static String toHex(int n) {
        Map<Integer, String> map = new HashMap<>();
        Deque<String> stack = new LinkedList<>();
        map.put(10, "A");
        map.put(11, "B");
        map.put(12, "C");
        map.put(13, "D");
        map.put(14, "E");
        map.put(15, "F");
        
        do {
            int yu = n % 16;
            String v = yu > 9 ? map.get(yu) : String.valueOf(yu);
            stack.push(v);
            n = n / 16;
        } while (n != 0);

        StringBuffer hex = new StringBuffer();
        while(stack.size() != 0){
            hex.append(stack.poll());
        }
        return hex.toString();
    }
}

  • 1

Reply