题解 | #进制转换#--利用进制的换算方法

进制转换

https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            String str = in.next();
            // 截取掉十六机制数OX标识
            char[] chars = str.substring(2).toCharArray();
            int result = 0;
            // 利用十六进制换算十进制的换算方法
            for (int i = 0; i < chars.length; i++) {
                int num = solution(chars[i]);
                result += num * Math.pow(16, chars.length - 1 - i);
            }
            System.out.println(result);
        }
    }
    
    // 获取十六进制数
    public static int solution(char cin) {
        switch (String.valueOf(cin).toUpperCase()) {
            case "A":
                return 10;
            case "B":
                return 11;
            case "C":
                return 12;
            case "D":
                return 13;
            case "E":
                return 14;
            case "F":
                return 15;
            default:
                return Integer.valueOf(String.valueOf(cin));
        }
    }
}

全部评论

相关推荐

头像
2025-12-27 13:01
三峡大学 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务