📄 item.java
字号:
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
public class Item {
// Integer 指数 BigDecimal 系数
Map<Integer, BigDecimal> itemMap = new TreeMap<Integer, BigDecimal>(
new ItemComparator());
/**
*
*/
private static final long serialVersionUID = -5742467143562230421L;
public Item() {
}
public boolean containKey(int key) {
if (itemMap.containsKey(new Integer(key)))
return true;
else
return false;
}
public BigDecimal getValue(Integer key) {
if (itemMap.containsKey(key)) {
return itemMap.get(key);
} else
return new BigDecimal(0);
}
public BigDecimal getValue(int key) {
if (containKey(key))
return itemMap.get(new Integer(key));
else
return new BigDecimal(0);
}
public void put(int key, BigDecimal value) {
itemMap.put(new Integer(key), value);
}
public void put(Integer key, BigDecimal value) {
itemMap.put(key, value);
}
public void clear() {
itemMap.clear();
}
public void putAll(Map map) {
itemMap.putAll(map);
}
public Map getMap() {
return itemMap;
}
public Iterator keyIterator() {
return itemMap.keySet().iterator();
}
public String toString() {
String result = "";
Integer intKey;
Iterator iter = itemMap.keySet().iterator();
while (iter.hasNext()) {
intKey = (Integer) iter.next();
if ((itemMap.get(intKey)).doubleValue() != 0) {
result += "+";
if (intKey.intValue() != 0)
result += (itemMap.get(intKey)).toString() + "x^"
+ intKey.toString();
else
result += (itemMap.get(intKey)).toString();
}
}
if (result.substring(0, 1).equals("+"))
result = result.substring(1);
return result;
}
public BigDecimal getCalValue(BigInteger x) {
BigDecimal result = new BigDecimal(0);
Integer intKey;
Iterator iter = itemMap.keySet().iterator();
while (iter.hasNext()) {
intKey = (Integer) iter.next();
result = result.add((itemMap.get(intKey)).multiply(new BigDecimal(x
.pow(intKey.intValue()))));
}
return result;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -