后缀表达式运算
利用JDK提供的 栈(Stack)进行运算
class Stack<E> extends Vector<E>
中缀表达式运算
a:从左至右扫描,把数字压入栈中
b:遇到运算符,pop出两个数字进行运算再次压入栈中
c:依次这样 ,最后栈中只剩下一个数字pop出来就是运算的结果
牢记关键词
1:从左至右
2:取二进一
2:依次扫描,进行运算
细节技术
1:Stack JDK自带栈 push pop peek …
2:正则表达式
- item.match("\d+");检测是否是数字
分析思路图
[注]:代码中的后缀表达式是:“4 5 * 8 - 60 + 8 2 / +”;
package Stack_calculate;
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
import javax.management.RuntimeErrorException;
public class ZhongZhuiCal {
public static void main(String[] args) {
String suffixExpersion = "4 5 * 8 - 60 + 8 2 / +"