题解 | 进制转换

进制转换

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

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String string = in.next();
        int sum = 0;
        int num = 0;
        for (int i = string.length() - 1; i >= 2; i--) {
            Character c = string.charAt(i);
            if (c >= 'A' && c <= 'F') {
                sum += (c - 'A' + 10) * Math.pow(16, num);
            } else {
                sum += (c - '0') * Math.pow(16, num);
            }
            num++;
        }
        System.out.println(sum);
    }
}

#牛客春招刷题训练营#

这题直接根据进制转换规则去做就好了,A到F对应10-15,直接用c-'A'+10就可以完成转换,也可以直接把转换规则写到map映射规则中。

全部评论

相关推荐

我将逐步学习姐妹的语言艺术
一片特立独行的面包:这攻击力
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务