elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  [noResuelto] Ayuda con String que contiene una ecuación en Java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [noResuelto] Ayuda con String que contiene una ecuación en Java  (Leído 3,198 veces)
romemarce

Desconectado Desconectado

Mensajes: 1



Ver Perfil
[noResuelto] Ayuda con String que contiene una ecuación en Java
« en: 18 Septiembre 2016, 02:45 am »

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.


En línea

bengy


Desconectado Desconectado

Mensajes: 501


mis virtudes y defectos son inseparables


Ver Perfil WWW
Re: [noResuelto] Ayuda con String que contiene una ecuación en Java
« Respuesta #1 en: 18 Septiembre 2016, 03:01 am »

creo que la mejor opcion es utilizar la estructura Pila y cada vez que desapilas verificas si es numero o operador.
nota: usa la notacion prefija, es decir por ejemplo, + 4 5 el resultado es 9


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [noResuelto] Ayuda con String que contiene una ecuación en Java
« Respuesta #2 en: 18 Septiembre 2016, 03:47 am »

El algoritmo si va a ser un poco largo pero simple

Crea un array, si hay números seguidos los guarda con sus operadores, si hay un parentesis, lo guarda como una dimension adicional del array, ej
Código:
5+5(5+8*7)/4
Array[0]=5
Array[1]=+
Array[2]=5
Array[3][0]=5
....
Array[3][4]=7
Array[4]=/
Array[5]=4

Luego resuelves las operaciones mas anidadas (dentro de mas corchetes)
Para resolver cualquier operacion tomas todos los numeros y los colocas en un nuevo array, para  pasarlos por filtro de prioridad, es decir si hay un * primero resuelves los números a sus lados (multiplicación ) y rearmas el array con los resultados (y menos indices) hasta que el largo del array sea 1... haces esto con todos los anidados hasta que no quede sino el array principal y resuelves... no esta de más añadir que si te quedan 2 números en indices consecutivos puedes agregar en medio el * para que el proceso sea lineal y predecible
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
roalamillo

Desconectado Desconectado

Mensajes: 3



Ver Perfil
Re: [noResuelto] Ayuda con String que contiene una ecuación en Java
« Respuesta #3 en: 23 Septiembre 2016, 19:26 pm »

http://www.lawebdelprogramador.com/foros/Java/825743-Ayuda-con-String.html
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Compilar un *.java a *.class (el *.java contiene errores) « 1 2 »
Java
Lopardo 12 10,233 Último mensaje 26 Noviembre 2006, 19:21 pm
por Casidiablo
busquedas SQL en java (String)
Java
juancho77 2 4,039 Último mensaje 18 Septiembre 2008, 17:21 pm
por juancho77
No me aparece el String en JTextField aunque si lo contiene « 1 2 »
Java
NaTxosS 10 6,740 Último mensaje 30 Noviembre 2014, 11:22 am
por NaTxosS
java no pilla String
Java
MrDev 4 2,660 Último mensaje 13 Febrero 2016, 19:28 pm
por MrDev
¿Cómo saber cual textbox contiene un string igual a otro?
Programación Visual Basic
rapbyone 2 3,358 Último mensaje 3 Septiembre 2016, 17:59 pm
por rapbyone
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines