Problema de Programación
Problema de Programación en Java: Sistema de Gestión de Inventario de una Librería
Objetivo:
Desarrollar una aplicación en Java que permita gestionar el inventario de libros de una librería, haciendo uso adecuado de estructuras de datos, algoritmos de ordenamiento y técnicas de persistencia.
🧱 Requisitos funcionales
📌 1. Datos a almacenar por libro:
-
String titulo
-
String autor
-
String isbn
(único) -
int anioPublicacion
-
String genero
-
double precio
-
int stock
📌 2. Funciones a implementar:
-
Agregar un libro al inventario.
-
Editar los datos de un libro (identificado por ISBN).
-
Eliminar un libro.
-
Buscar libro por:
-
Título
-
Autor
-
ISBN (debe ser búsqueda rápida, preferiblemente con estructura como HashMap o Árbol)
-
-
Ordenar la lista de libros por:
-
Título
-
Autor
-
Año de publicación
-
-
Mostrar listado de todos los libros.
-
Generar reporte de libros con stock bajo (menor a 5).
-
Guardar y cargar los datos en archivo (puede ser
.csv
o.txt
).
🛠️ Requisitos técnicos
-
Uso de ArrayList, HashMap, o TreeMap para almacenar los datos en memoria.
-
Implementar algoritmos de ordenamiento (ej. QuickSort, MergeSort, o usar
Collections.sort()
conComparator
). -
Implementar al menos una forma de persistencia de los datos (guardado/carga desde archivos con
BufferedReader
yBufferedWriter
oFileReader/FileWriter
). -
Aplicación tipo consola (opcional: interfaz gráfica con Swing para alumnos avanzados).
📚 Ejemplo de estructura de clases
javaclass Libro { private String titulo; private String autor; private String isbn; private int anioPublicacion; private String genero; private double precio; private int stock; // Constructor, getters y setters }
javaclass Inventario { private List<Libro> libros; // Métodos para agregar, buscar, eliminar, ordenar, guardar, cargar, etc. }
✅ Aprendizajes esperados
-
Implementación y manejo de estructuras de datos en Java.
-
Ordenamiento y búsqueda eficiente de información.
-
Organización de datos persistentes mediante archivos.
-
Diseño modular de clases y métodos.
-
Buenas prácticas de encapsulamiento y separación de responsabilidades.