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

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

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

9130=20800

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

3个回答

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;
    }
}

}
图片说明

u010144771
你看咩啊
2 年多之前 回复

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

zhengjob
zhengjob 不好意思,发贴子的时候,没注意后面的没写完,前面的两个算出来是对的
2 年多之前 回复

用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即可,想怎么取都行

zhengjob
zhengjob 由于十六进制是动态的,不能用 map
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问