nowcoder
HJ5 进制转换

问题描述

牛客网 HJ5 进制转换 (opens in a new tab),难度简单

描述

写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。

数据范围:保证结果在1n23111 \leq n \leq 2^{31} -1

输入描述

输入一个十六进制的数值字符串。

输出描述

输出该数值的十进制字符串。不同组的测试用例用\n隔开。

示例 1

输入:0xAA
输出:170

题解

Main.java
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextLine()) {
            String hexString = scanner.nextLine().trim();
            if (hexString.startsWith("0x") || hexString.startsWith("0X")) {
                hexString = hexString.substring(2);
            }
            try {
                int decimal = Integer.parseInt(hexString, 16);
                System.out.println(decimal);
            } catch (NumberFormatException e) {
                System.out.println("Invalid hex number");
            }
        }
        scanner.close();
    }
}