Introducción
Con esta lista pondrás en práctica todo lo aprendido sobre la creación de clases, atributos, métodos y constructores en Java. Los ejercicios te ayudarán a desarrollar habilidades para modelar problemas del mundo real mediante la programación orientada a objetos.
Ejercicio 1: Clase Película
Modela una clase Película con:
- titulo (String)
 - director (String)
 - año (int)
 - género (String)
 
Incluye métodos para:
- Constructor con todos los datos.
 - Escribir datos de la película.
 
Ejercicio 2: Clase Estudiante
Crea una clase Estudiante que contenga los siguientes atributos:
nombre(String)edad(int)grado(String)promedio(double)
Incluye constructores, getters y setters, y un método que determine si el estudiante está aprobado (promedio>=5).
Ejercicio 3: Clase Mascota
Diseña una clase Mascota con los atributos:
nombre(String)especie(String)edad(int)
Añade métodos para:
- Constructores, getters y setters.
 - Mostrar la información de la mascota.
 - Incrementar la edad de la mascota en un año.
 
Ejercicio 4: Clase Restaurante
Crea una clase Restaurante con:
nombre(String)tipoComida(String)aforoMaximo(int)
Implementa métodos para:
- Constructores, getters y setters.
 - Cambiar el tipo de comida.
 - Verificar si el aforo está dentro del límite.
 
Ejercicio 5: Clase Canción
Diseña una clase Canción con los atributos:
titulo(String)intérprete(String)duración(int, en segundos)género(String)
Incluye métodos para:
- Constructores, getters y setters.
 - Mostrar los detalles de la canción.
 - Calcular la duración en minutos y segundos y devolverla formateada en mm:ss.
 
Ejercicio 6: Clase Computadora
Crea una clase Computadora que tenga:
marca(String)modelo(String)ram(int, en GB)almacenamiento(int, en GB)
Implementa métodos para:
- Constructores, getters y setters.
 - Actualizar la RAM.
 - Mostrar las especificaciones completas.
 
Ejercicio 7: Clase Viaje
Modela una clase Viaje con:
destino(String)duracionDias(int)precio(double)
Añade métodos para:
- Constructores, getters y setters.
 - Aplicar un descuento al precio.
 - Mostrar los detalles del viaje.
 
Ejercicio 8: Clase Animal
Crea una clase Animal con los atributos:
especie(String)peso(double, en kg)hábitat(String)
Incluye métodos para:
- Constructores, getters y setters.
 - Cambiar el hábitat del animal.
 - Mostrar los datos completos del animal.
 
Ejercicio 9: Clase Libro Electrónico
Diseña una clase LibroElectronico con:
titulo(String)autor(String)tamañoArchivo(double, en MB)
Implementa métodos para:
- Constructores, getters y setters.
 - Mostrar los detalles del libro.
 - Comparar el tamaño del archivo con el tamaño de otro libro electrónico pasado por parámetro.
 
Ejercicio 10: Clase CuentaBancaria
Crea una clase CuentaBancaria con los atributos:
numeroCuenta(String)saldo(double)tipoCuenta(String)
Incluye métodos para:
- Constructores, getters y setters.
 - Depositar dinero.
 - Retirar dinero (si hay saldo suficiente).
 - Mostrar el saldo actual.
 
Ejercicio 11: Clase ProductoElectrónico
Diseña una clase ProductoElectrónico con:
nombre(String)precio(double)garantiaAños(int)
Añade métodos para:
- Constructores, getters y setters.
 - Aplicar un descuento al precio.
 - Mostrar los detalles del producto.
 
Ejercicio 12: Clase Vehículo
Modela una clase Vehículo con:
marca(String)modelo(String)año(int)kilometraje(double)
Incluye métodos para:
- Constructores, getters y setters.
 - Incrementar el kilometraje.
 - Mostrar los detalles del vehículo.
 
Ejercicio 13: Clase Empleado
Crea una clase Empleado con los atributos:
nombre(String)puesto(String)salario(double)
Implementa métodos para:
- Constructores, getters y setters.
 - Aumentar el salario en un porcentaje dado.
 - Mostrar la información del empleado.
 
Ejercicio 14: Clase Tienda
Diseña una clase Tienda que contenga:
nombre(String)direccion(String)numeroProductos(int)
Añade métodos para:
- Constructores, getters y setters.
 - Incrementar o reducir el número de productos.
 - Mostrar la información de la tienda.
 
Ejercicio 15: Clase Reloj
Crea una clase Reloj con los atributos:
hora(int)minuto(int)segundo(int)
Implementa métodos para:
- Constructores, getters y setters.
 - Ajustar la hora.
 - Mostrar la hora en formato HH:MM:SS.
 
Ejercicio 16: Clase Bebida
Modela una clase Bebida con:
nombre(String)tipo(String, ej. gaseosa, jugo)cantidad(double, en litros)
Incluye métodos para:
- Constructores, getters y setters.
 - Consumir una cantidad de bebida.
 - Mostrar los detalles de la bebida.
 
Ejercicio 17: Clase Rectángulo
Modela una clase Rectángulo con:
- base (int)
 - altura (int)
 
Incluye métodos para:
- Constructores, getters y setters.
 - Calcular el área del rectángulo.
 - Calcular el perímetro del rectángulo.
 
Ejercicio 18: Clase NIF
Modela una clase NIF con:
- número (int)
 - letra (char)
 
Incluye métodos para:
- Constructores, getters y setters.
 - Calcular letra de NIF.
 - Comprobar letra de NIF.
 
El cálculo de la letra del DNI se hace de la siguiente forma.
- Se coge el dígito del DNI y nos quedamos con el resto de dividir ese dígito entre 23.
 - Esto nos dará un número entre 0 y 22, con este número asignaremos la letra en función del siguiente orden:
 
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 
| T | R | W | A | G | M | Y | F | P | D | X | B | 
| 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| N | J | Z | S | Q | V | H | L | C | K | E | 
Ejercicio 19: Clase Fecha
Modela una clase Fecha con:
- día (int)
 - mes (int)
 - año (int)
 
Incluye métodos para:
- Constructores, getters y setters.
 - Comprobar si la fecha es correcta.
 - Añadir un día a la fecha.
 - Formatear fecha para escribirla.
 
Ejercicio 20: Clase Tiempo
Modela una clase Tiempo con:
- hora (int)
 - minutos (int)
 - segundos (int)
 
Incluye métodos para:
- Sumar un tiempo al tiempo guardado en el objeto. El parámetro tiempo se pasará en segundos.
 - Sumar un tiempo al tiempo guardado en el objeto. El parámetro tiempo se pasará como un objeto de la propia clase Tiempo.
 - Formatear tiempo para escribirlo.
 
Ejercicio 21: Clase Password
Modela una clase Password con:
- longitud (int)
 - password (String)
 
Incluye métodos para:
- Getters y Setters.
 - Constructor que cree una contraseña fuerte con la longitud que le pasemos (que debe ser mayor de 10).
 - Comprobar que una contraseña es fuerte: 
- 10 caracteres o más,
 - al menos 1 minúscula,
 - al menos una mayúscula,
 - al menos un dígito,
 - al menos un carácter especial.
 
 
Ejercicio 22: Clase Fracción
Modela una clase Fracción con:
- numerador (int)
 - denominador (int)
 
Incluye métodos para:
- Constructores, getters y setters.
 - Invertir la fracción.
 - Multiplicar dos fracciones.
 - Dividir dos fracciones.
 - Prueba también con simplificar, sumar y restar.
 
Conclusión
Estos ejercicios están diseñados para reforzar tus habilidades en la creación y manipulación de clases en Java. ¡Elige algunos y empieza a practicar! Recuerda aplicar buenas prácticas como el uso de this y encapsulación para mejorar tu código.


Deja una respuesta