已知十六进制与计算结果,拜大神求中间的算法

十六进制及计算结算如下:
8CE6=10620
8CEE=10700

8DC2=12660
8DC3=12670
8DC4=12680

9130=20800

其中的十六进制是变动的,求同一个法算,输入十六进制得到相应的值。谢谢。

function getValue(int a){
return (a-0x88c0)*10;
}

用map集合

 Map<String, String> map = new HashMap<String, String>();
map.put("8CE6","10620");
map.put("8CEE","10700");
for (Map.Entry<Integer, String> entry : map.entrySet()) {
             System.out.println("key= " + entry.getKey() + " and value= "
                     + entry.getValue());
        }

遍历map即可,想怎么取都行

import java.text.DecimalFormat;

public class Count {

public static void main(String[] args) {

    DecimalFormat df = new DecimalFormat("######0");
    System.out.println(df.format(getCount("8CE6")));
    System.out.println(df.format(getCount("8CEE")));
    System.out.println(df.format(getCount("8DC2")));
    System.out.println(df.format(getCount("8DC3")));
    System.out.println(df.format(getCount("8DC4")));
    System.out.println(df.format(getCount("9130")));
}
static double getCount(String a) {
    if(a.length()>4) {
        System.out.println("请输入4位以内数字");
        return 0;
    }
    else {
        return (double)Integer.parseInt(String.valueOf(a.charAt(0)),16)*391680/151+
                (double)Integer.parseInt(String.valueOf(a.charAt(1)),16)*34720/151-
                (double)Integer.parseInt(String.valueOf(a.charAt(2)),16)*139680/151+
                (double)Integer.parseInt(String.valueOf(a.charAt(3)),16)*10;
    }
}

}
图片说明