En esta entrada encontrarás una serie de ejercicios resueltos de programación en lenguaje Java. Tienes disponible la solución de cada ejercicio y no solo puedes descargarte el enunciado en formato PDF y los códigos fuente, sino que también podrás acceder a videotutoriales de YouTube donde podrás ver el proceso de resolución de dichas prácticas.

Cada ejercicio cubre distintos aspectos del lenguaje de programación Java y la programación orientada a objetos en general, y el nivel de dificultad es ascendente, por lo que se aconseja irlos realizando en orden.

Esta entrada queda abierta, ya que irá creciendo a medida que incluya nuevos ejercicios en ella. Si estás interesado en la programación Java no dejes de echarle un vistazo de vez en cuando, o bien suscríbete al canal de YouTube de ejerciciosmesa.


Ejercicio Java nº1. «Figuras de Superhéroes»

Práctica con Clases básicas, Composición de Clases, ArrayList

A través de este ejercicio aprenderemos cómo programar clases en Java para representar distintos objetos correspondientes a unas figuras de superhéroes que vende una tienda. Se tendrán que programar cuatro clases que permitan la creación de estos objetos:

  • Clase Superhéroe – que define las características de un superhéroe
  • Clase Dimensión – que define unas dimensiones (alto, ancho y profundidad)
  • Clase Figura – que define una figura que representará un superhéroe
  • Clase Colección – que definirá una colección de figuras de superhéroe

Ejercicio 1. «Figuras Superhéroes». Enunciado PDF

Descargar Solución Ejercicio 1. «Figuras de Superhéroes»

Github: https://github.com/nepenteh/ej-java-01-figuras

Videotutoriales Ejercicio nº1. «Figuras de Superhéroes«

Parte 1/4
Parte 2/4
Parte 3/4
Parte 4/4

Ejercicio Java nº2. «Electrodomésticos»

Práctica con Herencia de Clases

En este ejercicio crearemos una clase principal «Electrodoméstico» que definirá las características de un electrodoméstico genérico. Y a partir de esta clase, usando la herencia, se creará una clase más específica «Lavadora», que incluirá todas las características de Electrodoméstico, además de nuevas características propias.

Ejercicio 2. «Electrodomésticos». Enunciado PDF

Descargar Solución Ejercicio 2. «Electrodomésticos»

Github: https://github.com/nepenteh/ej-java-02-electrodomesticos

Videotutoriales Ejercicio nº2. «Electrodomésticos«

Parte 1/2
Parte 2/2

Ejercicio Java nº3. «Supermercado»

Práctica con Interfaces y Polimorfismo

En este ejercicio crearemos tres Interfaces Java que definirán características propias de productos de un supermercado. Luego se crearán tres Clases Java que describan tres tipos de productos y se aplicarán las Interfaces anteriores para unificar código. Se aprovechará esto para hacer un ejemplo de Polimorfismo, es decir, que distintos objetos reacciones de forma distinta a una misma orden.

Ejercicio 3. «Supermercado». Enunciado PDF

Descargar Solución Ejercicio 3. «Supermercado»

Github: https://github.com/nepenteh/ej-java-03-supermercado

Videotutoriales Ejercicio nº3. «Supermercado«

Parte 1/3
Parte 2/3
Parte 3/3

Ejercicio Java nº4. «Servicios»

Práctica con Clases Abstractas y Polimorfismo

En este ejercicio crearemos una clase abstracta «Servicio» que definirá un tipo general de servicio que realiza una empresa de mantenimiento a sus clientes (arreglos, mejoras, reparaciones de todo tipo, etc.) Esta clase será abstracta (es decir, no estará completamente programada) ya que un servicio general no tiene definida todas las características debido a que no tenemos toda la información. Sin embargo, a partir de esta clase, se crearán por herencia dos clases más: una que definirá «trabajos de pintura» y otra que definirá «revisiones de alarmas». Estas dos clases serán más específicas y estarán completamente programadas.

El crear una clase abstracta permite definir una especia de «plantilla genérica» para la generación de clases más específicas y distintas entre sí, pero que comparten las características de la clase padre. Es posible enviar los mismos mensajes a las clases heredadas (mensajes propios de la clase padre) y todas ellas sabrán responder al mensaje según su especialidad. Esto se denomina polimorfismo.

Ejercicio 4. «Servicios». Enunciado PDF

Descargar Solución Ejercicio 4. «Servicios»

Github: https://github.com/nepenteh/ej-java-04-servicios

Videotutorial Ejercicio nº4. «Servicios«

Parte 1/1

Ejercicio Java nº5. «Parking»

Práctica con Excepciones

En este ejercicio crearé una aplicación sencilla en Java que controle la ocupación de un Parking, a través de la entrada y salida de coches. Esta aplicación podrá lanzar errores que serán gestionados a través de Excepciones Java. Se lanzarán distintas excepciones que luego se capturarán usando las instrucciones try…catch. También se creará una clase de excepción propia que se usará para generar errores propios.

Ejercicio 5. «Parking». Enunciado PDF

Descargar Solución Ejercicio 5. «Parking»

Github: https://github.com/nepenteh/ej-java-05-parking

Videotutorial Ejercicio nº5. «Parking«

Parte 1/3
Parte 2/3
Parte 3/3

Ejercicio Java nº6. «Juego 2048»

Práctica con Matrices

En este tutorial (en 3 partes) programo el Juego del 2048 en Lenguaje Java. Para realizar este juego se usa una clase Tablero que envuelve a una matriz de enteros que representa los distintos valores de las fichas que aparecen en cada celda.

Se practicará en este ejercicio con el manejo de arrays bidimensionales además de estructuras for anidadas, constantes y otros conceptos de Java.

Ejercicio 6. «Juego 2048». Enunciado PDF

Descargar Solución Ejercicio 6. «Juego 2048»

Github: https://github.com/nepenteh/ej-java-06-juego2048

Videotutorial Ejercicio nº6. «Juego 2048«

Parte 1/3
Parte 2/3
Parte 3/3

Ejercicio Java nº7. «Diccionario»

Práctica con HashMaps y Archivos de Texto

En este tutorial resuelvo un ejercicio de programación en Lenguaje Java en el que debo diseñar un diccionario español-inglés. El ejercicio hace uso de un HashMap para almacenar las parejas de palabras español-inglés del diccionario. Además, todas esas parejas se cargan inicialmente desde un archivo de texto.

Se creará una clase «Diccionario» que envuelva el HashMap y que sirva para dar funcionalidades a la clase principal. Como prueba de esta clase se creará un pequeño juego en el que se harán preguntas de palabras en español al usuario y éste tendrá que escribir la palabra correspondiente en inglés.

Ejercicio 7. «Diccionario». Enunciado PDF

Descargar Solución Ejercicio 7. «Diccionario».

GitHub: https://github.com/nepenteh/ej-java-07-diccionario

Videotutorial Ejercicio nº7. «Diccionario«

Parte 1/1

Ejercicio Java nº8. «Zoológico»

Práctica con Relaciones de Clases: Muchas a Una y Muchas a Muchas

En este tutorial resuelvo un ejercicio de programación en Lenguaje Java en el que debo diseñar una aplicación que gestione un Zoológico. Para ello, se crearán varias clases que estarán relacionadas entre sí. La relación entre estas clases serán del tipo Muchas a Una o del tipo Muchas a Muchas.

Se creará una clase Zoológico que contendrá distintos ArrayList para almacenar los objetos generados a partir de las distintas clases participantes en el ejercicio.

Ejercicio 8. «Zoológico». Enunciado PDF

Descargar Solución Ejercicio 8. «Zoológico».

GitHub: https://github.com/nepenteh/ej-java-08-zoologico

Videotutorial Ejercicio nº8. «Zoológico«

Parte 1/1