如何把一个字符串装换成一个表达式覆给一个变量(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 以下的只有自行解析了。