题解 | 进制转换
进制转换
https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
// while (in.hasNextInt()) { // 注意 while 处理多个 case
// int a = in.nextInt();
// int b = in.nextInt();
// System.out.println(a + b);
// }
String hexStr = in.nextLine();
int len = hexStr.length();
int res = 0;
for(int i=2;i<len;i++){
int tmp1 = 0;
int tmp2 = 0;
switch(hexStr.charAt(i)){
case 'A':
tmp1 = 10;
break;
case 'B':
tmp1 = 11;
break;
case 'C':
tmp1 = 12;
break;
case 'D':
tmp1 = 13;
break;
case 'E':
tmp1 = 14;
break;
case 'F':
tmp1 = 15;
break;
default:
tmp1 = Character.getNumericValue( hexStr.charAt(i));
break;
}
// switch(i){
// case 2:
// tmp2 = 16*16*16;
// break;
// case 3:
// tmp2 = 16*16;
// break;
// case 4:
// tmp2 = 16;
// break;
// case 5:
// tmp2 = 1;
// break;
// }
res = res*16+tmp1;
}
System.out.println(res);
}
}
