如何把一个字符串装换成一个表达式覆给一个变量(String str="2*3+5+8*7")怎么 计算出结果

解决方案 »

  1.   

    使用栈来实现,先将其转为后缀表达式(转为:2 3 * 5 8 7 * + +),再进行计算。实现起来是比较麻烦的,主要是由于运算符的优先级别问题,可以去搜搜“后缀表达式”或“逆波兰式”的资料。如果你使用的是 JDK 6 的话,可以使用其提供的 JavaScript 脚本的 eval 函数来计算,JDK 6 以下的只有自行解析了。
      

  2.   

    有本书叫做 java编程艺术 里面的第一个例子就是你要的。。网上搜一下能找到..这个其实比较复杂