提供以下思路啊:
将字符串进行分割,具体如下:
1、以一对加号或者一加号一减号为边界,提取他们之间的内容。例如1+2*4/6-7 ,这时候就将2*4/6提取出来,还有一点就是把2*4/6前面的“+”也提取出来,以便最后运算,所以这样下去的话,就把一长串字符分割成为若干个小字符串以及这些小字符串前面的运算符号(+或者-)
当然字符串的开头和结尾(不满足前面说的以一对加号或者一加号一减号为边界)两个数进行特殊处理就可以了。
2、接下来就是对若干小字符串的运算,这个应该比较简单了,比如2*4/6可以从左到右的顺序解析进行运算,相信很快就可以搞定
3、最后就是把第2步算出来的结果结合第1步中提取出来的(+或者-)就能进行简单计算了
至于小括号的话,应该是我这个方法的延伸,只要将小括号内的东西看成这里的字符串就行了,我们可以先对它进行计算的!
就说这些吧,具体LZ觉得可行的话就编编看,不行请提出你的想法,我们可以一起探讨