HJ5:进制转换

进制转换

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

注意: A的码值是65,A对应的十进制为10,所以求取字符A-F的十进制为,例如求E为:E-A+10;字符'0'-'9'的十进制为c-'0';

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext()){
         String s=sc.nextLine();
        System.out.println(solution(s));
        }

    }

    public static int solution(String s){
        int sum=0;
        for(int j=s.length()-1;j>1;j--){
            sum+=(Math.pow(16,s.length()-1-j))*valueOfChar(s.charAt(j));
        }

        return sum;
    }

    public static int valueOfChar(char c){
        if(c>=65){
            return 10+(c-65);
        }
        return c-'0';
    }
}
全部评论

相关推荐

10-15 09:13
已编辑
天津大学 soc前端设计
点赞 评论 收藏
分享
评论
1
3
分享
牛客网
牛客企业服务