Java - Ayuda con String

 
Vista:

Ayuda con String

Publicado por Marcos (3 intervenciones) el 19/06/2007 19:20:43
Estoy tratando de convertir un String que voy a obtener de un JTextField a un Float,
El String tendrá la siguiente sintaxis ya que es una ecuación matemática:
(((2+3)*4)/2)
Es decir dentro de cada paréntesis una sola operación.

Alguien tiene idea de si existe alguna clase en Java que coja directamente el String en esa sintaxis y me de el resultado total de la operación matemática?

Pues sería menos complejo que intentarlo con recursividad y los métodos valueOf() y subString() de la Clase String,ya que al pedir el valueOf() de una expresion con operadores y parentesis no da el resultado real de la operación.

Estoy abierto a sugerencias....
Un saludo,
Marcos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con String

Publicado por DeeP (1 intervención) el 20/06/2007 17:36:26
lo que se me ocurre es hacer una lectura caracter por caracter, y usar dos Pilas
una de numeros y otra de operaciones,

Al momento de haber dos numeros en la Pnum y un operando en la Poper, hacer la operracion. las pilas pueden ser de chars y despues hacer un cast para los numeros y para los operandos un if con su valor de ASCII y decidir por ejemplo if Poper.pop() =='+' entonces suma = 3 +4;..... Esto funcionara si la sintaxis de la ecuacion es estatica y no cambia

? mete pila
| lo de atras ya murio

ecuacion (((???)??)??)
Ejemplo

Pnum= 2 3 | 5 4 | 20 2 | 10 ===> 10 haces un pop y listo
Poper= + | * | / |

Espero me entienda y te sirba, je.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar