题解 | #进制转换#

进制转换

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);
        // 注意 hasNext 和 hasNextLine 的区别
        String num = in.nextLine();
        // System.out.println(num.substring(2));
        char[] res = num.substring(2).toUpperCase().toCharArray();
        int result = 0;
        for (int i = res.length - 1; i >= 0; i--) {
            int sq = (res.length - 1 - i);
            int current = 0;
            switch (res[i]) {
                case 'A':
                    current = 10;
                    break;
                case 'B':
                    current = 11;
                    break;
                case 'C':
                    current = 12;
                    break;
                case 'D':
                    current = 13;
                    break;
                case 'E':
                    current = 14;
                    break;
                case 'F':
                    current = 15;
                    break;
                default:
                    current = Integer.valueOf(String.valueOf(res[i]));
            }

            result += current * Math.pow(16, sq);
            // System.out.println("current="+current);
            // System.out.println("sq="+sq);
            // System.out.println("result="+result);
        }
        System.out.println(result);
    }
}

全部评论

相关推荐

小红书 后端开发 总包n+8w+期权
点赞 评论 收藏
分享
赏个offer求你了:友塔HR还专门加我告诉我初筛不通过😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务