题解 | #进制转换#

进制转换

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

思路:

1.从键盘输入流获取字符串,用substring(2,substring.length-1)方法截取子字符串;
2.用for循环逐个获取每个位上的字符;
3.if判断每个字符是数字0-9 or 大写字母A-Z or 小写字母a-z;

4.对应进行求和,最后输出结果即可;

import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            String str = sc.nextLine();
            String target = str.substring(2,str.length());
            int result = 0;
            int power = 1;
            for(int i = target.length()-1;i >= 0;i--){
                char c = target.charAt(i);
                if(c >= '0' && c <= '9'){
                    result += (c - '0')*power;
                }
                if(c >= 'A' && c <= 'F'){
                    result += (c - 'A' +10)*power;
                }
                if(c >= 'a' && c <= 'f'){
                    result += (c - 'a' +10)*power;
                }
                power *= 16;
            }
            System.out.println(result);
        }
        sc.close();
    }
}


全部评论

相关推荐

03-05 17:03
已编辑
浙江工商大学 C++
陈好好wy:整体看下来有点空空的感觉,可以把每一段项目经历都再完善一下,然后用小标题的形式写个两到三条,目前看有点太简单了,不太能看出具体在这个项目里做了什么工作。还是要尽量把自己做的工作以量化的形式体现在简历上呢。
双非本科求职如何逆袭
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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