专栏导读

本专栏收录于 《华为OD机试(JAVA)真题(E卷+D卷+A卷+B卷+C卷)》

刷的越多,抽中的概率越大,私信javapub,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新,全天CSDN在线答疑。

进制转换

题目描述

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

数据范围

保证结果在: 在这里插入图片描述

输入描述

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

输出描述

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

示例

输入

0xAA

输出

170

Java 编程

package cn.net.javapub.demo2.demo;

import java.util.*;
import java.io.*;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String input;
        while((input = bf.readLine())!=null){
            String temp = input.substring(2,input.length());
            int sum = 0;
            int length = temp.length();
            for(int i= length-1;i>=0;i--){
                char c = temp.charAt(i);
                int tempNum = (int)c;
                if(tempNum>=65){
                    tempNum = tempNum - 65 + 10;
                }else{
                    tempNum = tempNum - 48;
                }
                sum = sum + (int) Math.pow(16, length-i-1)*tempNum;
            }
            System.out.println(sum);
        }
    }
}

展示效果:

在这里插入图片描述

🏆下一篇: 华为OD机试 - 字符串分隔(Java 2024 E卷 100分) 🏆本文收录于, 搬砖工逆袭Java架构师

刷的越多,抽中的概率越大,私信javapub,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新,全天CSDN在线答疑。