Actividades

Actividad 7: Gestor de Biblioteca con InputValidator

Desarrolla un gestor de biblioteca que permita a los usuarios agregar, eliminar y buscar libros utilizando la clase InputValidator para validar las entradas.

Objetivo

El objetivo de esta actividad es desarrollar un gestor de biblioteca que permita a los usuarios agregar, eliminar y buscar libros utilizando la clase InputValidator para validar las entradas. Aprenderás a aplicar la validación de entradas en un contexto práctico y a manejar diferentes tipos de datos relacionados con la gestión de una biblioteca.

Descripción del Problema

Eres un desarrollador de software encargado de crear un gestor de biblioteca que permita a los usuarios agregar, eliminar y buscar libros. Para garantizar que las entradas del usuario sean válidas, utilizarás la clase InputValidator que has desarrollado en actividades anteriores. El gestor de biblioteca debe permitir a los usuarios ingresar información sobre los libros, como el título, el autor, el año de publicación y el género, y debe validar estas entradas utilizando la clase InputValidator.

Instrucciones

  1. Crea una clase Book que tenga los siguientes atributos: title, author, isbn, publicationYear y available. Asegúrate de incluir un constructor, getters y setters para estos atributos.
  2. Crea una clase LibraryManager que contenga un arreglo o lista de objetos Book para almacenar la colección de libros de la biblioteca de no más de 10 libros.
  3. Implementa los siguientes métodos en la clase LibraryManager:
    • addBook(): Permite al usuario agregar un nuevo libro a la biblioteca. Utiliza la clase InputValidator para validar las entradas del usuario, asegurándote de que el título, autor e ISBN no estén vacíos, el año de publicación sea un número válido y el estado del libro sea por defecto "true" (disponible).
    • removeBook(): Permite al usuario eliminar un libro de la biblioteca, seleccionando el mismo de la lista de libros disponibles. Utiliza la clase InputValidator para validar la selección del usuario.
    • searchBook(): Permite al usuario buscar un libro por título o autor. Utiliza la clase InputValidator para validar las entradas del usuario.
    • menu(): Muestra un menú de opciones para que el usuario pueda elegir entre agregar, eliminar, buscar libros o salir del programa.
  4. Para controlar el menú, crea un Enum llamado MenuOptions que contenga las opciones del menú (AGREGAR, ELIMINAR, BUSCAR, SALIR) y utiliza este Enum para manejar las selecciones del usuario en el método menu().
  5. Crea una clase con el método main que instancie un objeto de la clase LibraryManager y llame al método menu() para iniciar la interacción con el usuario.
  6. Asegúrate de manejar adecuadamente las excepciones que puedan surgir durante la validación de entradas, mostrando mensajes de error claros y específicos utilizando los mensajes definidos en el Enum Messages que creaste en la actividad anterior.
  7. Agrega comentarios en el código para explicar la funcionalidad de cada parte y cómo se utiliza la clase InputValidator para validar las entradas del usuario en el contexto de la gestión de una biblioteca.
  8. Compila y ejecuta tu programa para asegurarte de que todas las funcionalidades funcionen correctamente. Toma capturas de pantalla de la ejecución del programa mostrando el uso de las funciones para agregar, eliminar y buscar libros, así como los mensajes de error personalizados cuando se ingresan entradas no válidas.
Al desarrollar un gestor de biblioteca utilizando la clase InputValidator, estarás aplicando los conceptos de validación de entradas en un contexto práctico. Esto te permitirá comprender cómo manejar diferentes tipos de datos relacionados con la gestión de una biblioteca y cómo garantizar que las entradas del usuario sean válidas. Además, el uso de un Enum para las opciones del menú y los mensajes de error mejora la mantenibilidad del código al centralizar las opciones y mensajes en un solo lugar, lo que facilita futuras modificaciones y mejoras en el programa.

Entrega

En un solo documento PDF, incluye:

  • Portada con el título de la actividad, la lista de integrantes del equipo y el nombre del curso.
  • Código fuente completo de las clases Book, LibraryManager, el Enum MenuOptions y la clase con el método main.
  • Capturas de pantalla de la ejecución del programa mostrando el uso de las funciones para agregar, eliminar y buscar libros, así como los mensajes de error personalizados cuando se ingresan entradas no válidas.
  • Una breve explicación de cómo se utiliza la clase InputValidator para validar las entradas del usuario en el contexto de la gestión de una biblioteca y cómo se manejan las opciones del menú utilizando el Enum MenuOptions.
Copyright Jesús Aurelio Castro Magaña © 2026