题解 | #进制转换#

进制转换

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

1、去掉0x,从后往前读,一位位找到对应的数字,与16的x次方相乘并累加,使用Integer.toString(num)返回最终字符串

import java.util.Scanner;


public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String hex = in.nextLine();
        hex = hex.substring(2); //去掉0x
        int num = 0;
        double x = 0;
        for(int i = hex.length() - 1; i >= 0; i--){
            char c = hex.charAt(i);
            int num1 = 0;
            switch (c) {
                case '0': 
                    num1 = 0;
                    break;
                case '1': 
                    num1 = 1;
                    break;
                case '2': 
                    num1 = 2;
                    break;
                case '3': 
                    num1 = 3;
                    break;
                case '4': 
                    num1 = 4;
                    break;
                case '5': 
                    num1 = 5;
                    break;
                case '6': 
                    num1 = 6;
                    break;
                case '7': 
                    num1 = 7;
                    break;
                case '8': 
                    num1 = 8;
                    break;
                case '9': 
                    num1 = 9;
                    break;
                case 'A': 
                    num1 = 10;
                    break;
                case 'B': 
                    num1 = 11;
                    break;
                case 'C': 
                    num1 = 12;
                    break;
                case 'D': 
                    num1 = 13;
                    break;
                case 'E': 
                    num1 = 14;
                    break;
                case 'F': 
                    num1 = 15;
                    break;
            }
            int num0 = (int)Math.pow(16, x);
            x++;
            num += num1 * num0;
        }

        System.out.println(Integer.toString(num));
    }
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务