将16位数字转换为原始数字的Java程序
我需要输入4位数字1101,然后我需要生成16位数字(1234567891234567)。当输入生成的16位数字时,我需要显示输入的数字1101。如何在java中定义双向映射将16位数字转换为原始数字的Java程序,java,Java,我需要输入4位数字1101,然后我需要生成16位数字(1234567891234567)。当输入生成的16位数字时,我需要显示输入的数字1101。如何在java中定义双向映射 class BiDirMap<K,V> extends HashMap<K, V>{ Map<V,K> reversedMap = new HashMap<V,K>(); @Override public V put(K key, V value)
class BiDirMap<K,V> extends HashMap<K, V>{
Map<V,K> reversedMap = new HashMap<V,K>();
@Override
public V put(K key, V value) {
// TODO Auto-generated method stub
reversedMap.put(value, key);
return super.put(key, value);
}
public K getKeyFromValue(V value){
return reversedMap.get(value);
}
}
并通过如下值进行查找:
myFoo.getKeyFromValue(1234567891234567);
请注意,像Guava这样的第三方LIB也会这样做使用地图如何?
long output=(输入<10000?输入+12345678900120000L:input%10000)
或者更简单:long output=1234567891234567L-input
16位数字应该是随机的16位数字,还是有规则?谢谢!!!它正在工作嗨,类中没有可用的getNumberFor()方法。请更新。。。这是一种返回从数字1111Ok计算出的长值的方法。。谢谢你的通讯
myFoo.put(1111, getNumberFor(1111));
myFoo.put(122, getNumberFor(122));
myFoo.getKeyFromValue(1234567891234567);