import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String string = in.next();
int sum = 0;
int num = 0;
for (int i = string.length() - 1; i >= 2; i--) {
Character c = string.charAt(i);
if (c >= 'A' && c <= 'F') {
sum += (c - 'A' + 10) * Math.pow(16, num);
} else {
sum += (c - '0') * Math.pow(16, num);
}
num++;
}
System.out.println(sum);
}
}
这题直接根据进制转换规则去做就好了,A到F对应10-15,直接用c-'A'+10就可以完成转换,也可以直接把转换规则写到map映射规则中。

京公网安备 11010502036488号