十六进制数转换为十进制数

一大清早的过来敲java基础代码,来补脑。星期六也要上班,真操蛋!

需求:从控制台输入一个十六进制字符串,输出一个十进制数

代码参考了java程序设计基础部分

直接上代码:

public class Hex2Decimal {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        while (true) {
            System.out.print("请输入一个十六进制数: ");
            String hexStr = input.nextLine();

            // 转换为十进制
            int decimalValue = hexToDecimal(hexStr.toUpperCase());

            // 输出打印
            System.out.println("转换为十进制的数为: " + decimalValue);
            System.out.println();
        }

    }

    // 将一个十六进制的字符串转换为十进制数
    private static int hexToDecimal(String hexStr) {
        int decimalValue = 0;
        for (int i = 0; i < hexStr.length(); i++) {
            // 将字符串转换为一组字符
            char hexChar = hexStr.charAt(i);
            // 计算
            decimalValue = decimalValue * 16 + hexCharToDecimal(hexChar);
        }
        return decimalValue;
    }

    // 将十六进制字符转换为十进制数
    private static int hexCharToDecimal(char ch) {
        if (ch >= 'A' && ch <= 'F') {
            return 10 + ch - 'A';
        } else {
            return ch - '0';
        }

    }

}


你可能感兴趣的:(java基础)