从每个十六进制的数字最后一位开始看起,字母需要转化,然后乘以对应的16的N次方。

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String str;
        while(sc.hasNext()){
            str = sc.nextLine();
            System.out.println(hToD(str));
        }
    }
    public static int hToD(String str){
        int ans = 0;
        int len = str.length();
        char ch;
        for(int i=len-1;i>1;i--){
            ch = str.charAt(i);
            int chi;
            if(ch >= '0' && ch <= '9'){
                chi = ch - '0';
            }
            else{
                chi = ch - 'A' + 10; 
            }
            ans += chi * Math.pow(16,len-i-1); 
        }
        return ans;
    }
}