关于数学表达式解析和求值# JobHunting - 待字闺中
d*w
1 楼
这题都连续被apple,facebook问道了,想跟大家探讨一些解决方法。
题目如下,简单的就是四则运算
如:
(2+3)*10-1 =
复杂的是带变量的
r*r - 1/4*pi * r^2
可能的话化简,然后给出变量值
r = 2
pi = 3.14
求最后表达式的值
这里面分2步,一个是parse(String str); 一个是evaluate();
parse编译原理课上是讲过,定义一些term grammer
expression = sum
sum = sum +/- term
| term
term = term *// element
element = constant
| "(" expression ")"
但我发现写出来还是蛮麻烦的,有人说expression tree,如何构造这个tree也是个问题
题目如下,简单的就是四则运算
如:
(2+3)*10-1 =
复杂的是带变量的
r*r - 1/4*pi * r^2
可能的话化简,然后给出变量值
r = 2
pi = 3.14
求最后表达式的值
这里面分2步,一个是parse(String str); 一个是evaluate();
parse编译原理课上是讲过,定义一些term grammer
expression = sum
sum = sum +/- term
| term
term = term *// element
element = constant
| "(" expression ")"
但我发现写出来还是蛮麻烦的,有人说expression tree,如何构造这个tree也是个问题