Voy a escribir un evaluador de expresiones que solo hace sumas y restas. Tengo un algoritmo simple para hacer eso; pero, tengo algunos problemas de implementación.Evaluador de expresiones recursivas usando Java
me considera una expresión como (se trata de una cadena)
"(" <expression1> <operator> <expression2> ")"
Aquí está mi algoritmo
String evaluate(String expression)
if expression is digit
return expression
else if expression is "(" <expression1> <operator> <expression2> ")"
cut the brackets out of it
expression1 = evaluate(<expression1>)
operator = <operator>
expression2 = evaluate(<expression2>)
if operator is +
expression1 + expression2
else if operator is -
expression1 - expression2
Mi problema es analizar <expression1>
, <operator>
y <expression2>
de la expresión. ¿Cómo puedo hacer eso?
Nota: No estoy pidiendo un código. Todo lo que necesito es una idea para hacer eso.
Gracias,
-Ali
Si usted está interesado en un ejemplo práctico de un pequeño matemáticas evaluador de Java escrito en, precisamente, de esta manera, tengo una en mi sitio web: http://www.softwaremonkey.org/Code/MathEval –