Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - romemarce

#1
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.