Un portátil con una bombilla y diversos engranajes alrededor.

Ejercicios sobre listas, iteradores y excepciones

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

  1. Sistema de Inscripción en un Curso
    Crea un sistema para gestionar la inscripción de estudiantes en un curso. Debe haber una clase Estudiante, con id y nombre, y una clase Curso 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 personalizada EstudianteNoEncontradoException.
  2. Biblioteca Digital
    Crea un sistema para gestionar una biblioteca. Implementa la clase Libro con título y autor. La clase Biblioteca 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ón LibroNoEncontradoException.

Nivel intermedio

  1. Gestión de un Club
    Crea un sistema para administrar miembros de un club. La clase Miembro tiene nombre y id. La clase Club 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ón MiembroNoEncontradoException.
  2. Carrito de Compras
    Implementa una clase Producto con nombre y precio. La clase CarritoCompra debe permitir agregar y eliminar productos por nombre. Si se intenta eliminar un producto que no está en el carrito, lanza una excepción ProductoNoEncontradoException.
  3. Gestor de Eventos
    Crea una aplicación para gestionar eventos. La clase Evento tiene nombre, fecha y ubicación. La clase Calendario 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ón EventoNoEncontradoException.

Nivel avanzado

  1. Sistema de Gestión de Reservas
    Desarrolla un sistema para manejar reservas de hotel. La clase Reserva contiene nombreCliente, fechaInicio y fechaFin. La clase Hotel 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ón ReservaNoEncontradaException.
  2. Plataforma de Streaming
    Crea una aplicación para gestionar una plataforma de streaming. La clase Usuario tiene nombre y email. La clase Plataforma contiene una lista de usuarios y permite agregar y eliminar usuarios por email. Si se intenta eliminar un usuario no registrado, lanza una excepción UsuarioNoEncontradoException.
  3. Sistema de Gestión de Empleados
    Implementa un sistema para administrar empleados en una empresa. La clase Empleado tiene nombre y dni. La clase Empresa maneja una lista de empleados y permite agregar y eliminar empleados por dni. Si se intenta eliminar un empleado que no existe, lanza una excepción EmpleadoNoEncontradoException.
  4. Red Social Simplificada
    Crea una red social donde los usuarios puedan agregarse como amigos. La clase Usuario tiene nombre y id, y una lista de amigos. La clase RedSocial maneja una lista de usuarios y permite eliminar amigos por nombre y también por id. Si se intenta eliminar un amigo inexistente, lanza una excepción AmigoNoEncontradoException. Si se intenta eliminar un amigo de la lista y hay nombres duplicados lanza NombreDuplicadoException.
  5. 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.
  6. Gestor de tareas:
    • Implementa una aplicación que permita gestionar una lista de tareas. La clase Tarea debe tener un nombre y un estado (pendiente o completada). La clase ListaTareas 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.
  7. 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.
  8. 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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.