题解 | #进制转换#

进制转换

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

import java.util.*; public class Main{ public static void main(String[] args){ Scanner input = new Scanner(System.in); while(input.hasNext()){ String str = input.nextLine().toLowerCase(); int i = str.length()-1; int num = 0; int j = 0;

        for(;i>1;i--){
            int s = 1;
            for(int k=0;k<j;k++){
                s *= 16;
                }
            j++;
            char c = str.charAt(i);
            if(c-'0' < 10 && c-'0'>0){
                num+=((c-'0')*s);
                }
            else{
                switch(c){
                case 'a' : num+=(10*s);break;
                case 'b' : num+=(11*s);break;
                case 'c' : num+=(12*s);break;
                case 'd' : num+=(13*s);break;
                case 'e' : num+=(14*s);break;
                case 'f' : num+=(15*s);break;
                default : break;
                }                
            }
        }
        System.out.print(num);
    }
}

}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务