Actividad 7: Gestor de Biblioteca con InputValidator
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
- Crea una clase
Bookque tenga los siguientes atributos:title,author,isbn,publicationYearyavailable. Asegúrate de incluir un constructor, getters y setters para estos atributos. - Crea una clase
LibraryManagerque contenga un arreglo o lista de objetosBookpara almacenar la colección de libros de la biblioteca de no más de 10 libros. - Implementa los siguientes métodos en la clase
LibraryManager:addBook(): Permite al usuario agregar un nuevo libro a la biblioteca. Utiliza la claseInputValidatorpara 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 claseInputValidatorpara validar la selección del usuario.searchBook(): Permite al usuario buscar un libro por título o autor. Utiliza la claseInputValidatorpara 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.
- Para controlar el menú, crea un
EnumllamadoMenuOptionsque contenga las opciones del menú (AGREGAR, ELIMINAR, BUSCAR, SALIR) y utiliza esteEnumpara manejar las selecciones del usuario en el métodomenu(). - Crea una clase con el método
mainque instancie un objeto de la claseLibraryManagery llame al métodomenu()para iniciar la interacción con el usuario. - 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
EnumMessagesque creaste en la actividad anterior. - Agrega comentarios en el código para explicar la funcionalidad de cada parte y cómo se utiliza la clase
InputValidatorpara validar las entradas del usuario en el contexto de la gestión de una biblioteca. - 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.
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, elEnumMenuOptionsy la clase con el métodomain. - 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
InputValidatorpara 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 elEnumMenuOptions.
Actividad 6: Expandiendo InputValidator con Predicados y Function
En esta actividad, expandirás la clase `InputValidator` para incluir funciones genéricas que utilicen predicados y funciones para validar entradas de usuario de manera más flexible. Aprenderás a combinar predicados y funciones para crear validaciones personalizadas y reutilizables.
Actividad 8: Calculadora de Figuras Geométricas
Desarrolla una calculadora de figuras geométricas que permita a los usuarios calcular el área y el perímetro de diferentes, sobrecargando una unica función para cada figura. Utiliza la clase InputValidator para validar las entradas del usuario.