为了练习一下Java编程,今天写了一个能进行大数计算的类,只需要调用本类的一个方法,以算数表达式为参数,方法就可返回计算结果。
import java.math.BigInteger;
import java.util.EmptyStackException;
import java.util.HashMap;
import java.util.Stack;
/*
* 该类实现对大值数进行简单计算的功能
* */
class BigNumCalculator {
private String input; //要计算的表达式
private String output;//结算结果
Stack<BigInteger> operand;//操作数栈
Stack<String> operator;//操作符栈
HashMap<String, Integer> prect_map; //操作符和优先级之间的映射关系
/*
* 无参构造函数
* */
public BigNumCalculator() {
this.operand = new Stack<BigInteger>();
this.operator = new Stack<String>();
prect_map = new HashMap<String, Integer>();
prect_map.put("+", new Integer(1));
prect_map.put("-", new Integer(1));
prect_map.put("*", new Integer(2));
prect_map.put("/", new Integer(2));
}
/*
* 对输入的表达式进行简单的检查。合法字符:数字、+、-、*、/、(、)之外是否还包含别的字符)
* 返回