java

Java: productos con ticket de venta (ejercicio)

En este post sobre Java vamos a resolver un ejercicio para simular una venta (en donde se registran productos) y al final mostrar el ticket de venta. Lo que haremos será dar al usuario la opción para agregar, quitar o aumentar la cantidad de productos.

Cuando el usuario lo requiera, se podrá imprimir el ticket por pantalla, imprimiendo además de la lista de productos, el total.

Clase producto

Para simplificar las cosas haremos una clase que represente al producto de la vida real. Más adelante vamos a crear una lista del mismo para realizar todas las operaciones.

See the gist on github.

Como ves cada producto tiene precio, cantidad y descripción además de sus respectivos getters y setters. Una cosa importante que notar es el método getSubtotal que devuelve el subtotal; esto es, multiplicar la cantidad por el precio.

Lista de productos

Ahora que ya tenemos la clase Producto podemos crear un ArrayList de ese tipo para poder administrar la lista fácilmente.

See the gist on github.

No voy a detallar todas las operaciones de los productos, pues me parece que se explican por sí mismas:

See the gist on github.

Como puedes ver todos los métodos reciben el ArrayList de los productos; esto es para realizar operaciones sobre la lista de productos que el usuario tiene.

Funciones extras

En algunos puntos el usuario introduce ciertos valores que deben ser solicitados por consola. Para ello he creado algunas funciones que solicitan el valor:

See the gist on github.

Por ejemplo una de esas funciones se encarga de armar el producto solicitando los datos al usuario por consola.

Imprimir ticket en consola

El método que imprime el total y los productos comprados es el siguiente:

See the gist on github.

Simplemente hace un foreach y usa printf para alinear el texto. Aquí estamos usando el método getSubtotal del producto para mostrarlo en la tabla y para así también calcular el total final.

Menú principal

Todas las operaciones de productos (aumentar cantidad, eliminar, agregar) se manejan a través de un simple menú que está dentro de un ciclo while.

Dentro del ciclo, además de solicitar al usuario lo que desea hacer, se imprimen los productos que el usuario ya tiene en su lista:

See the gist on github.

Las opciones, como puedes ver, son:

  • Agregar producto
  • Cambiar cantidad
  • Quitar producto
  • Mostrar ticket y terminar venta
  • Salir

Poniendo todo junto

El código completo para simular una compra agregando y modificando productos además de imprimir el ticket queda como se ve a continuación:

See the gist on github.

Yo lo he ejecutado para probar y se ve así:

Ticket de venta con productos en Java – Ejercicio por consola

Si quieres tú también puedes probarlo en este enlace.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Compartir
Publicado por
parzibyte

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

1 día hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

2 días hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

2 días hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

3 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

1 semana hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

1 semana hace

Esta web usa cookies.