Java十进制转十六进制

package com.company;

import java.util.*;

public class Main {
    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) {
        int i;
        Deque<String> de = new LinkedList<>(); // 生成一个栈
        do
        {
            i = n % 16; // 求余数并入栈
            switch(i) {
                case 10:
                    de.push("A");
                    break;
                case 11:
                    de.push("B");
                    break;
                case 12:
                    de.push("C");
                    break;
                case 13:
                    de.push("D");
                    break;
                case 14:
                    de.push("E");
                    break;
                case 15:
                    de.push("F");
                    break;
                default: // 默认操作0-9直接入栈
                    de.push(i+"");
            }
            n = n / 16; // 求最后一位入栈
        }while (n != 0);
        return String.join("", de);
    }
}

版权声明:本文为qq_43210029原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。