题解 | #进制转换#

进制转换

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

//递归截取最后一位直至剩下16进制标志"0X"停止

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    while (in.hasNext()) {
        String s = in.nextLine().toUpperCase();
        int result=0;
        int r=1;
        String last;
        while(!"0X".equals(s)){
            last=s.substring(s.length()-1);
            switch(last){
                case "A":
                    result+=10*r;
                    break;
                case "B":
                    result=result+11*r;
                    break;
                case "C":
                    result+=12*r;
                    break;
                case "D":
                    result+=13*r;
                    break;
                case "E":
                    result+=14*r;
                    break;
                case "F":
                    result+=15*r;
                    break;
                default:
                    result+=Integer.parseInt(last)*r;
                    break;
            }
            s=s.substring(0,s.length()-1);
            r=r*16;
        }
        System.out.println(result);
    }
}
}
全部评论

相关推荐

神哥不得了:神哥来啦~1.建议不要包装,很容易问穿2.没日常也能找到暑期3.简历模板换一下,字体和版式看着好难受,而且最好压缩到一页,技术的倒数第2和3重复啦,项目建议换两个高质量的上去,如果时间够的话,八股就把高频top50的题目多巩固几遍,吃透,注意不要找假高频,这样绝对能找到暑期
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务