题解 | #进制转换#
进制转换
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);
}
}
}