题解 | #进制转换#

进制转换

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

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while(in.hasNextLine()){
            String line = in.nextLine().substring(2);
            // 1A不能用->System.out.println(Integer.parseInt(line,16));
            System.out.print(hToD(line));
        }
    }
    public static int hToD(String hex){
        int D = 0;
        for(int i=0;i < hex.length();i++){
            char c = hex.charAt(i);
            D = D*16 + hcToD(c);
        }
        return D;
    }
    public static int hcToD(char c){
        if(c >='A' && c<='F'){
            return 10 + c - 'A';
        }else{
            return c - '0';
        }
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务