Ir al contenido principal

Calculadora con listas y pilas en Java

Holas¡¡¡ espero que todo bien. En esta ocasión les comparto un proyecto que realice para la universidad. Se trata de una calculadora hecha en la estructura de listas con apoyo de pilas. El funcionamiento es simple: se introduce los datos y finalizado el ingreso de datos retorna un resultado, espero les sirva :).

La calculadora a ser implementada debe ser de expresiones aritméticas que evalué suma, resta, multiplicación y división de la forma:
4+5-(8+65-23)+90
Al ser un dato compuesto se llegó a la conclusión de que los datos deben ser tratados como datos tipo String. De esta forma los datos pueden ser tratados de la misma manera. Para realizar las siguientes comparaciones.
  •           Es necesario componer los números como unidades, decenas, centenas
  •           Es necesario comparar si son llaves o signos aritméticos de evaluación
  •           Es necesario comparar si son operaciones secundarias (dentro de los parentesis) o primarias
  •           Es necesario completar números en caso de punto inicial, signo negativo inicial o luego de la apertura de un paréntesis.
  • -          Es necesario verificar que no exista espacios vacíos entre los números y/o operaciones.

Para realizar las operaciones lo primero que se hizo fue concatenar los números para su tratamiento como datos tipo float.
La segunda etapa se da en la resolución de las operaciones dentro de los paréntesis
La tercera etapa fue insertar en una pila los resultados de las operaciones realizadas dentro de los paréntesis
Finalmente se realiza las operaciones ya sin paréntesis en la lista.
Ingreso de datos:
34+(5+9)-99
Se convierte en cadena el dato, verificando la presencia de datos vacíos, 0 y puntos iniciales

3
4
+
(5
+
9
)
-
9
9

Luego se concatena los datos y se los agrega a la lista

34
+
(5
+
9
)
-
99

Se almacena en una pila las operaciones dentro del paréntesis

5
+
9

En una variable se almacena el resultado de la operación dentro la pila

14

Se agrega este resultado a la lista

34
+
14
-
99

Si no existe más paréntesis se hace la operación final

34
+
14
-
99

Resultado: 147

Las operaciones admitidas son suma resta multiplicación y división.

Para la Interfaz gráfica se capturo el dato jtextField introducido por la ventana de la interfaz posteriormente este dato es convertido en cadena. La cadena, luego de ser oprimido el botón “=” es enviada a la lista y esta realiza la operación previamente validada mediante el método valida existente en la clase lista.
 Enlace de descarga: https://mega.nz/#!8IlG1bJT

Código de cifrado: !Wx03vLoqnJX_YkuPFZwaWSs-SeFuqndTSvTh3g2qUT4

Comentarios

Publicar un comentario

Entradas populares de este blog

atajos de teclado mas utilizados en audition

holas :) bueno acá les traigo una entrada que nos interesa mucho cuando tenemos problemas con seleccionar algo o cuando necesitamos hacerlo con mayor rapidez. Bueno lo primero que debemos saber es que podemos cambiar en cualquier momento los atajos de teclado en: Edición-Métodos abreviados de teclado ó pulsando alt+k hecho esto seleccionamos la función que deseamos y luego hacemos click en "pulse para nueva tecla de método abreviado" y listo. Pero ese no es el tema de esta entrada el tema es los atajos de teclado mas utilizados en audition y luego de esta necesaria aclaración empezamos. Iniciaremos en el panel editar, como viste hay una cantidad muy grande de atajos por eso veremos los que uso normalmente:  ESCOGER CANAL DE AUDIO oprimiendo las teclas ctrl+l seleccionaremos el canal izquierdo (si deseamos bajar el sonido aplicarle algo etc es mejor pintar primero lo que desemaos y luego oprimir las teclas):  lo mismo haremos con el canal derecho ctrl+r

Instalación Ginga en Windows

Holas¡¡¡ bueno en vista que la tecnología avanza y estamos ante una nueva perspectiva sobre la producción de materiales multimedia les traigo una actualización a un proyecto que lleva un par de años la "Televisión Digital Terrestre". Los medios que reproduce son parecidos con la diferencia que este nuevo software permite generar interactividad con los usuarios (televidentes). Para empezar les dejo un par de videos realizados por la Comunidad Ginga Perú y los enlaces a la comunidad Ginga Ecuador ademas del libro "La televisión digital terrestre en Bolivia: Retos para la recién llegada". Finalmente les dejo los repositorios actualizados para la instalación del software. Primero: Veamos el siguiente video de instalación (hasta el minuto 10 aproximadamente trata sobre la instalación):  En este video debemos tomar en cuenta que el repositorio de Lua no existe y el eclipse galileo no esta actualizado como para recibir la nueva libreria lua. Para solucionar