题解 | 进制转换

进制转换

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 的区别
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            String s = in.nextLine();

            String r = "";
            for (int i = s.toCharArray().length  ; i > 2 ; i--) {
                r += s.charAt(i-1);
            }

            int sum = 0;
            for (int j = 0 ; j <  r.toCharArray().length; j++) {

                if (Character.isDigit(r.charAt(j))) {
                    sum += Character.getNumericValue(r.charAt(j)) * power(16, j);
                } else if ('A' == r.charAt(j)) {
                    sum += 10 * power(16, j);
                } else if ('B' == r.charAt(j)) {
                    sum += 11 * power(16, j);
                } else if ('C' == r.charAt(j)) {
                    sum += 12 * power(16, j);
                } else if ('D' == r.charAt(j)) {
                    sum += 13 * power(16, j);
                } else if ('E' == r.charAt(j)) {
                    sum += 14 * power(16, j);
                } else if ('F' == r.charAt(j)) {
                    sum += 15 * power(16, j);
                }
 

            }

             System.out.println(sum);

        }
    }


    public static int power(int base, int exponnet) {
        int result = 1;
 
        for (int i = 0 ; i < exponnet ; i++) {
            result *=  base;
        }

        return result;
    }
}

全部评论

相关推荐

09-14 17:23
门头沟学院
故事和酒66:所以说副业很重要,程序员干到40岁,再怎么也赚300万了,吃吃利息也够活下去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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