java
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String str = in.nextLine();
String[] s = str.split("");
int len = s.length;
int total = 0;
for(int i = 0; i < len - 2; i++){
int num = 0;
switch (s[len - i - 1]){
case "A":
num = 10;
break;
case "B":
num = 11;
break;
case "C":
num = 12;
break;
case "D":
num = 13;
break;
case "E":
num = 14;
break;
case "F":
num = 15;
break;
}
if(num == 0){
num = Integer.parseInt(s[len - i - 1]);
}
for(int j = 0; j < i; j++){
num = num * 16;
}
total += num;
}
System.out.println(total);
}
}
1.将字符串转换成单独的字符数组;
2.根据16进制特性从后往前开始计算;
3.进行A~F的匹配;
4.循环计算