题解 | #进制转换#

进制转换

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

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main{
    private static Map<Character,Integer> map = new HashMap<Character,Integer>(){{
        put('a',10);
        put('b',11);
        put('c',12);
        put('d',13);
        put('e',14);
        put('f',15);
    }};
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine().toLowerCase().substring(2);
        int n = str.length()-1;
        long sum = 0;
        
        for(int i =n;i>=0;i--){
            char chr = str.charAt(i);
            if(map.keySet().contains(chr)){
                 sum += map.get(chr) * Math.pow(16,n-i);
            }else{
                sum += Integer.valueOf(String.valueOf(str.charAt(i))) * Math.pow(16,n-i);
            }
        }
        System.out.println(sum);
    }
}
全部评论

相关推荐

双非一本失业第二年:《机器视觉垃圾分类》
点赞 评论 收藏
分享
11-04 14:10
东南大学 Java
_可乐多加冰_:去市公司包卖卡的
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务