Aquí tienes ejercicios para practicar la creación de jerarquías de clases. Cada ejercicio implica la creación de una clase que maneje excepciones personalizadas para validar atributos o reglas internas. Están organizados de menor a mayor dificultad.
1. Nivel básico
- CuentaBancaria
- Crea una clase
CuentaBancariacon atributostitularysaldo. - Implementa un método
retirar(double cantidad). - Lanza una excepción personalizada
SaldoInsuficienteExceptionsi el saldo es insuficiente. - Prueba la clase intentando retirar más dinero del disponible.
- Crea una clase
- Cuenta de Ahorro
- Crea una clase
CuentaAhorrocon atributostitularysaldo. - Implementa un método
depositar(double cantidad). - Lanza una excepción
CantidadNegativaExceptionsi se intenta depositar una cantidad menor o igual a 0. - Prueba la clase intentando depositar valores negativos.
- Crea una clase
- Producto
- Crea una clase
Productocon atributosnombreyprecio. - Lanza una excepción
PrecioInvalidoExceptionsi el precio es menor o igual a cero. - Prueba la clase creando productos con precios inválidos.
- Crea una clase
- Persona
- Crea una clase
Personacon atributosnombreyedad. - Lanza una excepción
EdadInvalidaExceptionsi la edad es negativa o superior a 150 años. - Prueba la clase creando personas con edades inválidas.
- Crea una clase
- Temperatura
- Crea una clase
Temperaturacon un atributogradosCelsius. - Lanza una excepción
TemperaturaExtremaExceptionsi la temperatura está fuera del rango -100 a 100 grados. - Prueba la clase con valores extremos.
- Crea una clase
- Estudiante
- Crea una clase
Estudiantecon atributosnombreynotaFinal. - Lanza una excepción
NotaInvalidaExceptionsi la nota no está entre 0 y 10. - Prueba la clase con notas fuera del rango.
- Crea una clase
2. Nivel intermedio
- Pedido
- Debes partir de la clase producto programada anteriormente en esta lista.
- Crea una clase
Pedidocon atributosproductoycantidad. - Lanza una excepción
CantidadInvalidaExceptionsi la cantidad es menor o igual a 0. - Prueba la clase intentando crear pedidos inválidos.
- Evento
- Crea una clase
Eventocon atributosnombreyfecha. - Lanza una excepción
FechaPasadaExceptionsi se intenta crear un evento con una fecha anterior a la actual. - Prueba la clase creando eventos en el pasado.
- Crea una clase
- Vehículo
- Crea una clase
Vehículocon atributosmarcayvelocidadMaxima. - Lanza una excepción
VelocidadInvalidaExceptionsi la velocidad es menor que 0 o mayor que 400 km/h. - Prueba la clase con velocidades inválidas.
- Crea una clase
- CuentaUsuario
- Crea una clase
CuentaUsuariocon atributosnombreUsuarioycontraseña. - Lanza una excepción
ContraseñaDebilExceptionsi la contraseña tiene menos de 8 caracteres o no contiene números. - Prueba la clase con contraseñas incorrectas.
- Crea una clase
- ReservaDeHotel
- Crea una clase
ReservaHotelcon atributosnombreCliente,numNochesynumPersonas. - Lanza una excepción
ReservaInvalidaExceptionsi el número de noches o de personas es menor o igual a 0. - Prueba la clase con valores inválidos.
- Crea una clase
- Empleado
- Crea una clase
Empleadocon atributosnombre,salarioyedad. - Lanza una excepción
SalarioInvalidoExceptionsi el salario es menor que el salario mínimo. - Lanza otra excepción
EdadInvalidaExceptionsi la edad es menor de 18 años. - Prueba la clase con valores no permitidos.
- Crea una clase
- Sistema de Reservas de Vuelo
- Crea una clase
ReservaVuelocon atributospasajero,destino,fecha,asientosDisponibles. - Lanza una excepción
AsientosAgotadosExceptionsi no hay asientos disponibles. - Prueba la clase reservando más asientos de los permitidos.
- Crea una clase
- Gestión de Pedidos Online
- Crea una clase
PedidoOnlinecon atributoscliente,totalCompra,estadoPago. - Lanza una excepción
PagoNoRealizadoExceptionsi el estado del pago no está confirmado. - Prueba la clase intentando procesar un pedido sin pago.
- Crea una clase
- Tarjeta de Crédito
- Crea una clase
TarjetaCreditocon atributosnumeroTarjeta,fechaExpiracion,limiteDiarioysaldoDisponible. - Lanza una excepción
TarjetaExpiradaExceptionsi se trata de sacar dinero y la fecha de expiración ya pasó. - Lanza una excepción
SaldoInsuficienteExceptionsi se trata de sacar más dinero del disponible. - Lanza una excepción
LimiteSobrepasadoExceptionsi se saca más dinero del que hay en el límite en operaciones sucesivas. - Prueba la clase con fechas de expiración antiguas.
- Crea una clase
3. Nivel avanzado
- Registro de Matrículas
- Crea una clase
Matrículacon atributosestudiantes(de tipo lista) ycupoCurso. - Lanza una excepción
CupoLlenoExceptionsi se intenta matricular un nuevo estudiante y el curso ya está lleno. - Prueba la clase intentando matricular más alumnos de los permitidos.
- Crea una clase
- Sistema de Notas
- Crea una clase
SistemaNotascon un métodocalcularPromedio(List<Integer> notas). - Lanza una excepción
ListaVaciaExceptionsi no hay notas para calcular el promedio. - Prueba la clase con una lista vacía de notas.
- Crea una clase
- Registro de Usuarios
- Crea una clase
RegistroUsuariosque almacene nombres de usuario en una lista. - Lanza una excepción
UsuarioDuplicadoExceptionsi el usuario ya existe. - Prueba la clase registrando usuarios repetidos.
- Crea una clase
- Inventario de Tienda
- Crea una clase
Inventariocon unHashMap<String, Integer>para almacenar productos y su cantidad. - Implementa un método
retirarProducto(String producto, int cantidad) - Lanza una excepción
StockInsuficienteExceptionsi la cantidad es mayor a la disponible - Prueba la clase con intentos de retiro de productos en cantidades incorrectas.
- Crea una clase
- Biblioteca Digital
- Crea una clase
BibliotecaDigitalque maneje préstamos de libros electrónicos. - Lanza una excepción
LibroNoDisponibleExceptionsi un usuario intenta pedir un libro prestado a otro. - Prueba la clase intentando pedir libros ya en préstamo.
- Crea una clase


Deja una respuesta