Hola, necesito tu ayuda para resolver un problema, Supongamos que tenemos un:
String cuenta = "5+5(5+8*7)/4";
La pregunta es simple, averiguar el resultado de la operación.
Hasta ahora solo e implementado 2 posibles soluciones que terminaron en fracaso.
La primera opción que se me ocurrió fue resolver a través de paréntesis es decir:
Transformar nuestro string :
" 5+5(5+8*7)/4 "
, a la siguiente manera
"5+(5(5+(8*7)))/4 "
Esta opción es interesante pero se complica a la hora de remplazar y/o añadir un ' ( ';
La segunda opción es básicamente buscar en nuestro String el ultimo o mejor dicho el mas chico conjunto de parentesis y resolverlo, es decir " (5+8*7) ", pero cual es el problema en este caso, que no encuentro la manera de darle prioridad a que calcule primero la multiplicación o división antes que la suma o resta, para ser mas claro: 5+8*7 = 13*7 = 91, parece de retrasado pero así lo entiende la maquina.
Que manera u opción es la mas fácil y como lo harían, si tienen otra alternativa sera bien recibida.
PD: Si se le ocurre algún algoritmo para resolverlo, y no saben como expresarlo en java, también sera bien recibido, cualquier opinión me sirve.
Desde ya muchas gracias, este fue mi primer post, y fui lo mas detallado posible.