呵呵,很简单阿
一个char一个char的压到堆栈里,然后根据后面运算符的优先级判断是否需要处理前面压进去的:)

解决方案 »

  1.   

    看看这个:
    http://www.csdn.net/expert/topic/999/999158.xml?temp=.6719171
      

  2.   

    namowen(寒号不已):
       我看了你介绍的文章很好,但是我觉得他的方法是针对某一个表达式,也许是我没有理解好。你做过吗?能给解释解释吗。谢谢
      

  3.   

    CatLuDn(Lauan)说得对,你还是找本数据结构的书看看吧,在讲堆栈的时候,都是以表达式的计算为例子的。一般是先把中缀表达式(就是你写的那种)转换为后缀表达式,然后再应用后缀表达式计算值。在这里一下子说不清。:)
      

  4.   

    其实还有个办法,如果你只需要结果的话,你把这个字符串用sql的形式提交给数据库,这样由数据库来完成这些工作,你就只需要取答案了。比如说:
    select (2*7*(8-6)) as result from dual;RESULT
    28
      

  5.   

    基本上什么运算都可以,不过得注意一下异常处理。http://www.csdn.net/expert/topic/1014/1014137.xml?temp=.3812525 刚在那边回复的
      

  6.   

    在ORACLE:select .... as result from dual;
    SQL SERVER:select .... ;