套用进制转换的公式,即第n位(从低位开始)数字乘以进制的n-1次幂,加和
import java.util.Scanner;
import java.lang.Math;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
while(in.hasNextLine()){
String s = in.nextLine(); //读入数字
int count = 0; //记录转换后的数字
for(int i=0; i < s.length()-2; i++){
//由于前面两位是'0x',故从第三位开始
char tc = s.charAt(i+2);
int t = 0; //记录字母转换成的数值
//将字母转换为数值
if(tc>='0' && tc<='9')
t = tc - '0';
//字母'A'/'a'~'F''f'对应数字10~15
else if(tc>='A' && tc<='F')
t = tc - 'A' + 10;
else if(tc>='a' && tc<='f')
t = tc - 'a' +10;
//计算加和
count += t * Math.pow(16, s.length()-i-3);
}
System.out.println(count);
}
}
} 
京公网安备 11010502036488号