好象没有直接的方法(不敢100%肯定).
在UNIX下,可以用下列方法:
1. 执行"eval tmpstr"
2. 打开输入流得到结果.

解决方案 »

  1.   

    用StringTokenizer将tmpstr = "1*2*3*4";分隔开,(分隔符用+-*/)
    将分隔到的字符放入一个数组中记录下来,再进行计算。不过好像还有一种更加方便的方法,import java.io.StreamTokenizer。
      

  2.   

    jdk1.4开始支持正规表达式了,可以用Pattern类试试!
      

  3.   

    不会吧?这个问题,我记得,是以前一个测试题的:
    知道一个表达式,求它的结果的
    好像,这个在jdk中,没有现成的类可以用吧?
    因为我们以前做过这种小程序的
      

  4.   

    用分隔字符到数组恐怕不行,因为运算符不是确定的。liujuntao(为忘记你而天涯海角流浪)提到以前做过类似程序,可否给点提示。
      

  5.   

    使用ANTLR或类似的项目,如不嫌麻烦,可绕一个大圈,使用BSF,送到脚本引擎中运算后取回。