封装成StringBuffer或者StringBuilder
每次计算第一个() 然后替换 知道把所有的()替换完之后
进行乘除操作并替换
然后加减操作并替换
然后就是结果了
其实就是递归....
不然你就用栈来做 用栈现在不会了
只能给你模拟一下了
加入 5+6+(6+8)+(7-9)
得到运算结果
1,5+6+14+(7-9)
2,5+6+14-2
3,13+14-2
4,27-2
5,25
如果里面的 有那个括号嵌套的话
也没关系,因为 括号最终会分解为 + - * / 这样的简单操作而不包含括号
就如(5+(5*6+(6/2)))
可以分解为 5 + (5*6+(6/2))
而 (5*6+(6/2)) 可以分解为 5*6 + (6/2)
(6/2) 直接元算得到3
5*6 + (6/2) --->5*6+3 --> 30+3 -->33
所以5 + (5*6+(6/2))--->5+33-->38
(5+(5*6+(6/2)))--->38 |