日期:2014-05-20  浏览次数:20672 次

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

------解决方案--------------------
应该要用一个表达式解释器了
------解决方案--------------------
关注
------解决方案--------------------
觉得要用栈来实现
------解决方案--------------------
“觉得要用栈来实现”
正解!

------解决方案--------------------
使用栈来实现,先将其转为后缀表达式(转为:2 3 * 5 8 7 * + +),再进行计算。

实现起来是比较麻烦的,主要是由于运算符的优先级别问题,可以去搜搜“后缀表达式”或“逆波兰式”的资料。

如果你使用的是 JDK 6 的话,可以使用其提供的 JavaScript 脚本的 eval 函数来计算,JDK 6 以下的只有自行解析了。