例题:
给定中缀表达式;(10+20/2*3)/2+8 ,求其对应的后缀表达式的计算;
解题步骤:
(1)将中缀表达式转为后缀表达式;
转换过程查看中缀表达式转后缀表达式_s逐梦少年的博客-CSDN博客
(2)获取对应的后缀表达式 10 20 2 / 3 * + 2 / 8 +
(3)因为要满足计算则必须有num2 运算符 num1;因此为达到这种效果;我们可以创建一个栈
用于存储数字;这样就可以控制每次出一个数字并且满足先进的数字后出;
(4)为了存储数字和运算符,首先要做的就是讲其分开,将后缀表达式定义为String在运算符和
“()”两端加上空格,利用split()方法通过空格将其分割为字符串数组;
(5)遍历数组,数字进栈遍历到运算符时,数字栈弹两个数字和运算符组成num2 运算符 num1
这种形式将运算符的结果再次存入数字栈。
(6)最后弹出栈中的最终数字就为计算结果
代码实现:
此代码实