问题本身的目的就是实现进制转换,不能使用已有API

import java.util.Scanner;
//用API=回家等通知
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextLine()) {
            String s = in.nextLine();
            String tempS = s.substring(2);
            //转换
            int ans = new Main().change(tempS);

            //十进制输出
            System.out.println(ans);
        }
    }
    public int change(String s){
        int ans=0,x=0;
        for(int i=s.length()-1;i>=0;i--){
            char c = s.charAt(i);
            if(c>='A' && c<='F'){
                ans+=(c-'A'+10)*Math.pow(16,x++);
            }else{
                ans+=(c-'0')*Math.pow(16,x++);
            }
        }
        return ans;
    }
}
全部评论

相关推荐

zYvv:双一流加大加粗再标红,然后广投。主要是获奖荣誉不够,建议开始不用追求大厂,去别的厂子刷下实习。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务