Java —— 表达式计算器
在JavaScript中,我们知道有eval()这个函数,专门用来运行表达式字符串,用起来非常方便。但是在C++、Java中,就没有这么方便的工具给我们使用了。
对一个表达式求值的步骤有两步:
① 中缀表达式求前缀表达式
② 前缀表达式运算求值
这两个步骤分别利用两个栈,操作符栈与操作数栈;
具体的讲解请参考《
MFC 实现 加减乘除,括号,乘方的 计算器》
程序源代码:
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
import java.util.Stack;
public class Work5 {
// 操作数栈
private static Stack<Double> Operands;
// 操作符栈
private static Stack<Character> Operators;
// 操作符集合
private static final Set<Character> C_OperatorSet = new HashSet<Character>() {
/**
*
*/
private static final long serialVersionUID = 1L;
{