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
CuentaBancaria
con atributostitular
ysaldo
. - Implementa un método
retirar(double cantidad)
. - Lanza una excepción personalizada
SaldoInsuficienteException
si el saldo es insuficiente. - Prueba la clase intentando retirar más dinero del disponible.
- Crea una clase
- Cuenta de Ahorro
- Crea una clase
CuentaAhorro
con atributostitular
ysaldo
. - Implementa un método
depositar(double cantidad)
. - Lanza una excepción
CantidadNegativaException
si se intenta depositar una cantidad menor o igual a 0. - Prueba la clase intentando depositar valores negativos.
- Crea una clase
- Producto
- Crea una clase
Producto
con atributosnombre
yprecio
. - Lanza una excepción
PrecioInvalidoException
si el precio es menor o igual a cero. - Prueba la clase creando productos con precios inválidos.
- Crea una clase
- Persona
- Crea una clase
Persona
con atributosnombre
yedad
. - Lanza una excepción
EdadInvalidaException
si 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
Temperatura
con un atributogradosCelsius
. - Lanza una excepción
TemperaturaExtremaException
si la temperatura está fuera del rango -100 a 100 grados. - Prueba la clase con valores extremos.
- Crea una clase
- Estudiante
- Crea una clase
Estudiante
con atributosnombre
ynotaFinal
. - Lanza una excepción
NotaInvalidaException
si 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
Pedido
con atributosproducto
ycantidad
. - Lanza una excepción
CantidadInvalidaException
si la cantidad es menor o igual a 0. - Prueba la clase intentando crear pedidos inválidos.
- Evento
- Crea una clase
Evento
con atributosnombre
yfecha
. - Lanza una excepción
FechaPasadaException
si 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ículo
con atributosmarca
yvelocidadMaxima
. - Lanza una excepción
VelocidadInvalidaException
si 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
CuentaUsuario
con atributosnombreUsuario
ycontraseña
. - Lanza una excepción
ContraseñaDebilException
si 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
ReservaHotel
con atributosnombreCliente
,numNoches
ynumPersonas
. - Lanza una excepción
ReservaInvalidaException
si 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
Empleado
con atributosnombre
,salario
yedad
. - Lanza una excepción
SalarioInvalidoException
si el salario es menor que el salario mínimo. - Lanza otra excepción
EdadInvalidaException
si 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
ReservaVuelo
con atributospasajero
,destino
,fecha
,asientosDisponibles
. - Lanza una excepción
AsientosAgotadosException
si 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
PedidoOnline
con atributoscliente
,totalCompra
,estadoPago
. - Lanza una excepción
PagoNoRealizadoException
si 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
TarjetaCredito
con atributosnumeroTarjeta
,fechaExpiracion
,limiteDiario
ysaldoDisponible
. - Lanza una excepción
TarjetaExpiradaException
si se trata de sacar dinero y la fecha de expiración ya pasó. - Lanza una excepción
SaldoInsuficienteException
si se trata de sacar más dinero del disponible. - Lanza una excepción
LimiteSobrepasadoException
si 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ícula
con atributosestudiantes
(de tipo lista) ycupoCurso
. - Lanza una excepción
CupoLlenoException
si 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
SistemaNotas
con un métodocalcularPromedio(List<Integer> notas)
. - Lanza una excepción
ListaVaciaException
si 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
RegistroUsuarios
que almacene nombres de usuario en una lista. - Lanza una excepción
UsuarioDuplicadoException
si el usuario ya existe. - Prueba la clase registrando usuarios repetidos.
- Crea una clase
- Inventario de Tienda
- Crea una clase
Inventario
con unHashMap<String, Integer>
para almacenar productos y su cantidad. - Implementa un método
retirarProducto(String producto, int cantidad)
- Lanza una excepción
StockInsuficienteException
si 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
BibliotecaDigital
que maneje préstamos de libros electrónicos. - Lanza una excepción
LibroNoDisponibleException
si 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