Es es un ejercicio muy útil para entender el concepto de pilas en java, recordemos que una pila funciona como LIFO en este ejercicio consta de 3 clases muy importantes, las cuales las detallare a continuación
Clase Principal(Deber2)
- Pedimos una expresión por teclado, esta expresión debe estar en Infix(Normalmente una expresión) ejm A+B*D
- Realizamos una clase para determinar si la expresión es correcta( Si los paréntesis están correctamente)
- Si la expresión es correcta la transformamos a PostFix
- Preguntamos al usuario si quiere evaluar la expresión convertida o quiera evaluar una expresión nueva
- Se pide al usuario que ingrese los valores de las variables usadas en la expresión
- Nos muestra por pantalla la expresión convertida a PostFix y cuanto es valor numerico equivalente de la expresión
Clase Variable
- Utilizamos 2 parámetros(Character nombre, int valor)
- 2 Métodos Constructores (1. con parámetros, 2.sin parámetros)
- Invocamos los métodos get y set
- Override Metodo ToString (sobrescribimos ToString)
Clase Expresión
- Método constructor sin parámetros
- Método VerificarParentesis
En este metodo utilizamos una pila la cual añade un elemento si la expresion tiene el parentesis»(» y remueve un elemento si tiene el parentesis «)» finalmente la expresion retornara true si la pila esta vacia y false si esta llena
- Método InFixToPostFix
Este método trabaja de dos maneras diferentes, dependiendo si la expresión tiene paréntesis o no
Si tiene paréntesis creamos 3 pilas, la primera pila me funciona para los operadores, segunda para los paréntesis, la tercera para los multiplicandos de las expresiones ejem
(a+b)*(a-b) != a+b*a-b
Por esta razón trabajamos este método dependiendo de la expresión
- Método evaluar
Este método evalúa una expresión en PostFix, Utilizamos una pila la cual agrega y remueve los operadores, la lógica que utilizamos fue agregar variables en una pila asta que encuentre un operador al momento de encontrar un operador removemos las dos ultimas variables ingresadas ala pila y realizamos la operación, y esta operación la volvemos agregar ala pila, asta recorrer toda la expresión
AB*V+=A*B+V
- Método Variables
Este método realiza la función de sacar todas las variables de la expresión y guárdalas en una lista, las variables no pueden ser repetidas y a!=A respetando las mayúsculas y minúsculas
ESPERO QUE LES GUSTE CUALQUIER INQUIETUD CONTÁCTENME POR FACEBOOK SUERTE ESPERO QUE LES SIRVA DE AYUDA 🙂