十六进制及计算结算如下:
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;
}
}