题解 | #进制转换#

进制转换

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.hasNext()) { // 注意 while 处理多个 case
            long max=(long)Math.pow(2,31)-1;
            String m = in.nextLine().substring(2);
            int len = m.length();
            String[] arr =new String[len];
            for(int i=0;i<len;i++){
                arr[i] = String.valueOf(m.charAt(i));
            }
            long n=0;
            for(int j=len-1;j>=0;j--){
                long x=Long.parseLong(arr[j],16);
                n+=x*Math.pow(16,len-j-1);
            }
            if(n>=1&&n<=max){
                System.out.println(n);
            }  
        }
    }
}

全部评论

相关推荐

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