Los siguientes ejercicios te ayudarán a practicar la creación de clases que requieran el uso de listas, iteradores y el manejo de excepciones personalizadas. Están ordenados por nivel de dificultad.
Nivel básico
- Sistema de Inscripción en un Curso
Crea un sistema para gestionar la inscripción de estudiantes en un curso. Debe haber una claseEstudiante
, conid
ynombre
, y una claseCurso
que contenga una lista de estudiantes. Implementa métodos para añadir y eliminar estudiantes por id. Si se intenta eliminar un estudiante que no está inscrito, lanza una excepción personalizadaEstudianteNoEncontradoException
. - Biblioteca Digital
Crea un sistema para gestionar una biblioteca. Implementa la claseLibro
contítulo
yautor
. La claseBiblioteca
debe contener una lista de libros y permitir añadir y eliminar libros por título. Si se intenta eliminar un libro no registrado, lanza una excepciónLibroNoEncontradoException
.
Nivel intermedio
- Gestión de un Club
Crea un sistema para administrar miembros de un club. La claseMiembro
tienenombre
yid
. La claseClub
tiene una lista de miembros y permite añadir y eliminar miembros por id. Si se intenta eliminar un miembro que no existe, lanza una excepciónMiembroNoEncontradoException
. - Carrito de Compras
Implementa una claseProducto
connombre
yprecio
. La claseCarritoCompra
debe permitir agregar y eliminar productos por nombre. Si se intenta eliminar un producto que no está en el carrito, lanza una excepciónProductoNoEncontradoException
. - Gestor de Eventos
Crea una aplicación para gestionar eventos. La claseEvento
tienenombre
,fecha
yubicación
. La claseCalendario
almacena una lista de eventos y permite añadir y eliminar eventos por nombre y fecha. Si se intenta eliminar un evento que no existe, lanza una excepciónEventoNoEncontradoException
.
Nivel avanzado
- Sistema de Gestión de Reservas
Desarrolla un sistema para manejar reservas de hotel. La claseReserva
contienenombreCliente
,fechaInicio
yfechaFin
. La claseHotel
maneja una lista de reservas y permite añadir y eliminar reservas por cliente y fechas. Si se intenta eliminar una reserva inexistente, lanza una excepciónReservaNoEncontradaException
. - Plataforma de Streaming
Crea una aplicación para gestionar una plataforma de streaming. La claseUsuario
tienenombre
yemail
. La clasePlataforma
contiene una lista de usuarios y permite agregar y eliminar usuarios poremail
. Si se intenta eliminar un usuario no registrado, lanza una excepciónUsuarioNoEncontradoException
. - Sistema de Gestión de Empleados
Implementa un sistema para administrar empleados en una empresa. La claseEmpleado
tienenombre
ydni
. La claseEmpresa
maneja una lista de empleados y permite agregar y eliminar empleados pordni
. Si se intenta eliminar un empleado que no existe, lanza una excepciónEmpleadoNoEncontradoException
. - Red Social Simplificada
Crea una red social donde los usuarios puedan agregarse como amigos. La claseUsuario
tienenombre
yid
, y una lista de amigos. La claseRedSocial
maneja una lista de usuarios y permite eliminar amigos por nombre y también porid
. Si se intenta eliminar un amigo inexistente, lanza una excepciónAmigoNoEncontradoException
. Si se intenta eliminar un amigo de la lista y hay nombres duplicados lanzaNombreDuplicadoException
. - Sistema de Inventario:
- Crea un sistema que administre un inventario de productos en un almacén.
- Permite agregar nuevos productos al inventario, incluyendo nombre, descripción, cantidad y precio.
- Permite eliminar productos del inventario por nombre.
- Permite actualizar la cantidad de un producto.
- Permite buscar productos por nombre o descripción.
- Excepción Personalizada:
ProductoInexistenteException
: Se lanza cuando se intenta acceder a un producto que no existe en el inventario.CantidadInsuficienteException
: Se lanza cuando se intenta retirar más productos de los que hay en stock.
- Crea un sistema que administre un inventario de productos en un almacén.
- Gestor de tareas:
- Implementa una aplicación que permita gestionar una lista de tareas. La clase
Tarea
debe tener unnombre
y unestado
(pendiente o completada). La claseListaTareas
debe permitir agregar y eliminar tareas con un iterador. - Excepción Personalizada:
TareaInexistenteException
: Se lanza cuando se intenta modificar o eliminar una tarea que no existe.FechaInvalidaException
: Se lanza cuando se intenta crear una tarea con una fecha límite inválida.
- Implementa una aplicación que permita gestionar una lista de tareas. La clase
- Sistema de Gestión de Libros:
- Crea un programa que gestione una biblioteca de libros.
- Permite agregar nuevos libros con título, autor, ISBN y disponibilidad.
- Permite prestar libros a usuarios.
- Permite devolver libros.
- Permite buscar libros por título, autor o ISBN.
- Permite borrar libros por ISBN.
- Excepción Personalizada:
LibroInexistenteException
: Se lanza cuando se intenta acceder a un libro que no existe en la biblioteca.LibroPrestadoException
: Se lanza cuando se intenta prestar un libro que ya está prestado.
- Crea un programa que gestione una biblioteca de libros.
- Sistema de Gestión de Alumnos:
- Desarrolla un programa que permita a un profesor gestionar una lista de alumnos.
- Permite agregar nuevos alumnos con nombre, apellido y número de matrícula.
- Permite eliminar alumnos por nombre y apellido.
- Permite modificar la información de un alumno.
- Permite consultar la lista de alumnos.
- Excepción Personalizada:
AlumnoInexistenteException
: Se lanza cuando se intenta acceder a un alumno que no existe en la lista.MatriculaDuplicadaException
: Se lanza cuando se intenta agregar un alumno con una matrícula que ya está en uso.
- Desarrolla un programa que permita a un profesor gestionar una lista de alumnos.
Deja una respuesta