题解 | #进制转换#

进制转换

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 hex = in.nextLine().substring(2);
            int decimal = Integer.parseInt(hex, 16);

            System.out.println(decimal);

        }
    }
}

还有一个使用了进制转换公式是进制的n-1次幂,注意这里是n-1。

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 str = in.nextLine().substring(2);
            int len = str.length();
            long result = 0;
            for(int i = len-1;i>=0;i--){
                char add = str.charAt(i);
                double convert = Math.pow(16,len-i-1);
                int add1 = Character.getNumericValue(add)*(int)convert;
                result+=add1;
            }
            System.out.println(result);

        }
    }
}

全部评论

相关推荐

威猛的小饼干正在背八股:挂到根本不想整理
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务