欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

牛客网华为机试【进制转换(16进制转10进制)】

程序员文章站 2024-03-12 13:13:44
...

题目描述

写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。(多组同时输入 )

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

输出描述:
输出该数值的十进制字符串。

示例
输入

0xA

输出

10

题目分析

java 中提供了现成的 API 来做进制转换。
因此,最为方便的就是使用 API 。
参考:JAVA二进制,八进制,十六进制,十进制间进行相互转换

另外,题目要求不止一条数据,使用Scanner 时需要注意,只要有输入,便需要处理。

java 代码

package org.feng.nowcoder;

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        // 阻塞:只要有输入就执行
        while(input.hasNext()){
            String line = input.next();
            // 截取 0x 之后的字符
            if(line.startsWith("0x")){
                line = line.substring(2);
            }
            // API 中的进制转换方法
            Integer integer = Integer.valueOf(line, 16);
            System.out.println(integer);
        }
    }
}

结果

牛客网华为机试【进制转换(16进制转10进制)】