▷ Ejercicios resueltos Figuras en JAVA

Los ejercicios de Figuras son excelentes para entender en profundidad cómo funcionan los bucles.

Aquí os dejo una serie de ejercicios de JAVA que nos permiten dibujar todo tipo de figuras a través de bucles. Es recomendable intentar hacer primero el ejercicio sin mirar la solución. Te recomiendo que hagas siempre un seguimiento del programa, de este modo podrás comprobar el orden de ejecución de las instrucciones dentro del bucle. Puedes hacerlo utilizando el depurador o imprimiendo por pantalla mensajes en determinadas partes del algoritmo, ánimo!!
PD. Para dibujar este tipo de figuras hay distintas formas de hacerlo. Si piensas que tienes alguna solución más interesante para cualquiera de los ejercicios, puedes dejarla en los comentarios.

Ejercicio 1

Crea un método en JAVA que dibuje un rectángulo formado por asteriscos(*). El método debe recibir la base y altura. Además, añade un método adicional para que dibuje dicho rectángulo sin relleno. Más abajo puedes ver un ejemplo con base 12 y altura 8.
				
					/**
 * Rectángulo en JAVA
 * 
 * Crea un métod en JAVA que dibuje un rectángulo formado por asteriscos(*). 
 * El método debe recibir la base y la altura. 
 * Además, añade un método adicional para que dibuje dicho rectángulo sin relleno.
 * 
 * Ejemplo para entrada: base = 10 , altura = 5 
 * Salida: 
 *          * * * * * * * * * * 
 *          * * * * * * * * * *
 *          * * * * * * * * * *
 *          * * * * * * * * * *
 *          * * * * * * * * * *
 *
 *          * * * * * * * * * *
 *          *                 *
 *          *                 *
 *          *                 *
 *          * * * * * * * * * *       
 */
class Rectangulo {
    public static void main(String[] args) 
    {
        final int BASE = 10;  // poner aquí la base del rectángulo
        final int ALTURA = 5; // poner aquí la altura del rectángulo
        rectangulo(BASE, ALTURA);
        System.out.println();
        rectanguloSinRelleno(BASE, ALTURA);
    }

    //método que dibuja un rectángulo con relleno
    static void rectangulo(int base, int altura) 
    {
        for (int i = 0; i < altura; i++) {
            for (int j = 0; j < base; j++) {
                System.out.print("* ");
            }
            System.out.println();
        }
    }
    //método que dibuja un rectángulo sin relleno
    static void rectanguloSinRelleno(int base, int altura)
    {
        for (int i = 0; i < altura; i++) {
            for (int j = 0; j < base; j++) {
                //primera y última fila, primera y última columna
                if (i == 0 || i == altura - 1 || j == 0 || j == base - 1)
                    System.out.print("* ");
                else
                    System.out.print("  ");
            }
            System.out.println();
        }
    }
}
				
			

Ejercicio 2

Crea un método en JAVA que dibuje un triángulo rectángulo creciente formado por asteriscos(*). El método debe recibir la altura del triángulo. Además, añade un método adicional para que dibuje dicho triángulo sin relleno. Más abajo puedes ver un ejemplo con altura 10.
				
					/**
 * Triángulo en JAVA
 * 
 * Crea un método en JAVA que dibuje un triángulo creciente rectángulo formado por asteriscos(*). 
 * El método debe recibir la altura del triángulo. 
 * Además, añade un método adicional para que dibuje dicho triángulo sin relleno.
 * 
 * Ejemplo para entrada: altura = 5 
 * Salida: 
 *          *
 *          * *
 *          * * *
 *          * * * *
 *          * * * * *
 *
 *          *
 *          * *
 *          *   *
 *          *     *
 *          * * * * *     
 */
public class Triangulo {
    public static void main(String[] args) 
    {
        final int ALTURA = 5; // poner aquí la altura del triángulo
        triangulo(ALTURA);
        System.out.println();
        trianguloSinRelleno(ALTURA);
    }
    //método que dibuja un triángulo con relleno
    static void triangulo(int altura) 
    {
        for (int i = 0; i < altura; i++) {
            for (int j = 0; j <= i; j++) {
                System.out.print("* ");
            }
            System.out.println();
        }
    }
    //método que dibuja un triángulo sin relleno
    static void trianguloSinRelleno(int altura)
    {
        for (int i = 0; i < altura; i++) {
            for (int j = 0; j <= i; j++) {
                //primera y última fila, primera y última columna
                if (i == 0 || i == altura - 1 || j == 0 || j == i)
                    System.out.print("* ");
                else
                    System.out.print("  ");
            }
            System.out.println();
        }
    }
}

				
			

Ejercicio 3

Crea un método en JAVA que dibuje un triángulo rectángulo decreciente formado por asteriscos(*). El método debe recibir la altura del triángulo. Además, añade un método adicional para que dibuje dicho triángulo sin relleno. Más abajo puedes ver un ejemplo con altura 10.
				
					/**
 * Triángulo en JAVA
 * 
 * Crea un método en JAVA que dibuje un triángulo rectángulo decreciente formado por asteriscos(*). 
 * El método debe recibir la altura del triángulo. 
 * Además, añade un método adicional para que dibuje dicho triángulo sin relleno.
 * 
 * Ejemplo para entrada: altura = 5 
 * Salida: 
 *          * * * * *
 *          * * * *
 *          * * *
 *          * *
 *          *
 *
 *          * * * * *  
 *          *     *
 *          *   * 
 *          * *
 *          *
 */
public class Triangulo {
    public static void main(String[] args) 
    {
        
        final int ALTURA = 5; // poner aquí la altura del triángulo
        triangulo(ALTURA);
        System.out.println();
        trianguloSinRelleno(ALTURA);
    }
    //método que dibuja un triángulo decreciente con relleno
    static void triangulo(int altura)
    {
        for (int i = altura - 1 ; i >= 0; i--) {
            for (int j = 0; j <= i; j++) {
                System.out.print("* ");
            }
            System.out.println();
        }
    }
    //método que dibuja un triángulo decreciente sin relleno
    static void trianguloSinRelleno(int altura)
    {
        for (int i = altura - 1; i >= 0; i--) {
            for (int j = 0; j <= i; j++) {
                //primera y última fila, primera y última columna
                if (i == 0 || i == altura - 1 || j == 0 || j == i)
                    System.out.print("* ");
                else
                    System.out.print("  ");
            }
            System.out.println();
        }
    }
}

				
			

Ejercicio 4

Crea un método en JAVA que dibuje triángulo rectángulo creciente, formado por asteriscos(*), y alineado a la derecha. El método debe recibir la altura de la triángulo. Además, añade un método adicional para que dibuje dicho triángulo sin relleno. Más abajo puedes ver un ejemplo de triángulo con altura 10.
				
					/**
 * Triángulo en JAVA
 * 
 * Crea un método en JAVA que dibuje un triángulo rectángulo creciente,
 * formado por asteriscos(*), y alineado a la derecha. 
 * El método debe recibir la altura del triángulo. 
 * Además, añade un método adicional para que dibuje dicho triángulo sin relleno.
 * 
 * Ejemplo para entrada: altura = 5 
 * Salida: 
 *              *
 *            * *
 *          * * *
 *        * * * *
 *      * * * * *
 *
 *              *
 *            * *
 *          *   *
 *        *     *
 *      * * * * *    
 */
public class Triangulo {
    public static void main(String[] args) 
    {
        final int ALTURA = 10; // poner aquí la altura de la pirámide
        triangulo(ALTURA);
        System.out.println();
        trianguloSinRelleno(ALTURA); 
    }
    //método que dibuja un triángulo creciente con relleno alineado a la derecha
    static void triangulo(int altura)
    {
        for (int i = 0; i < altura; i++) {
            for (int j = 0; j < altura; j++) {
                if (j >= altura - i - 1)
                    System.out.print("* ");
                else
                    System.out.print("  ");
            }
            System.out.println();
        }
    }
    //método que dibuja un triángulo creciente sin relleno alineado a la derecha
    static void trianguloSinRelleno(int altura) 
    {
        for (int i = 0; i < altura; i++) {
            System.out.print("\t");
            for (int j = 0; j < altura; j++) {
                //última fila, primera y última columna
                if (i == altura - 1 || j == altura - i - 1 || j == altura - 1)
                    System.out.print("* ");
                else
                    System.out.print("  ");
            }
            System.out.println();
        }
    }    
}

				
			

Ejercicio 5

Crea un método en JAVA que dibuje triángulo rectángulo decreciente, formado por asteriscos(*), y alineado a la derecha. El método debe recibir la altura de la triángulo. Además, añade un método adicional para que dibuje dicho triángulo sin relleno. Más abajo puedes ver un ejemplo de triángulo con altura 10.
				
					/**
 * Triángulo en JAVA
 * 
 * Crea un método en JAVA que dibuje un triángulo rectángulo decreciente,
 * formado por asteriscos(*), y alineado a la derecha. 
 * El método debe recibir la altura del triángulo. 
 * Además, añade un método adicional para que dibuje dicho triángulo sin relleno.
 * 
 * Ejemplo para entrada: altura = 5 
 * Salida: 
 *          * * * * *
 *            * * * *
 *              * * *
 *                * *
 *                  *
 *
 *          * * * * *  
 *            *     *
 *              *   * 
 *                * *
 *                  *   
 */
public class Triangulo {
    public static void main(String[] args)
    {
        final int ALTURA = 10; // poner aquí la altura de la pirámide
        triangulo(ALTURA);
        System.out.println();
        trianguloSinRelleno(ALTURA); 
    }
    //método que dibuja un triángulo decreciente con relleno alineado a la derecha
    static void triangulo(int altura)
    {
        for (int i = 0; i < altura; i++) {
            System.out.print("\t");
            for (int j = 0; j < altura; j++) {
                if (j >= i)
                    System.out.print("* ");
                else
                    System.out.print("  ");
            }
            System.out.println();
        }
    }
    //método que dibuja un triángulo decreciente sin relleno alineado a la derecha
    static void trianguloSinRelleno(int altura)
    {
        for (int i = 0; i < altura; i++) {
            System.out.print("\t");
            for (int j = 0; j < altura; j++) {
                //primera fila, primera y última columna
                if (i == 0 || j == i || j == altura - 1)
                    System.out.print("* ");
                else
                    System.out.print("  ");
            }
            System.out.println();
        }
    }
}

				
			

Ejercicio 6

Crea un método en JAVA que dibuje pirámide creciente formada por asteriscos(*). El método debe recibir la altura del triángulo. Además, añade un método adicional para que dibuje dicha pirámide sin relleno. Más abajo puedes ver un ejemplo de pirámide con altura 10.
				
					/**
 * Pirámide en JAVA
 * 
 * Crear un programa en JAVA que dibuje pirámide creciente formada por asteriscos(*). 
 * El método debe recibir la altura de la pirámide. 
 * Además, añade código adicional para que dibuje dicha pirámide sin relleno
 * 
 * Ejemplo para entrada: altura = 5 
 * Salida: 
 *                  *
 *                * * *
 *              * * * * *
 *            * * * * * * *
 *          * * * * * * * * *
 *          
 *                  *
 *                *   *
 *              *       *
 *            *           *
 *          * * * * * * * * *   
 */
public class Piramide {
    public static void main(String[] args)
    {
        final int ALTURA = 10; // poner aquí la altura de la pirámide
        piramide(ALTURA);
        System.out.println();
        piramideSinRelleno(ALTURA); 
    }
    //método que dibuja una pirámide con relleno
    static void piramide(int altura)
    {
        int base = altura * 2 - 1; 
        for (int i = 0; i < altura; i++) {
            for (int j = 0; j < base; j++) {
                //si está entre la posición central menos la fila actual, hasta posición central más la fila actual
                if (j >= altura - 1 - i && j <= altura - 1 + i)
                    System.out.print("* ");
                else
                    System.out.print("  ");
            }
            System.out.println();
        }
    } 
    //método que dibuja una pirámide sin relleno
    static void piramideSinRelleno(int altura)
    {
        int base = altura * 2 - 1; 
        for (int i = 0; i < altura; i++) {
            for (int j = 0; j < base; j++) {
                //si es la primera o la última columna del intevalo, o última fila
                if (j == base / 2 - i || j == base / 2 + i || i == altura - 1)
                    System.out.print("* ");
                else
                    System.out.print("  ");
            }
            System.out.println();
        }
    }     
}

				
			

Ejercicio 7

Crea un método en JAVA que dibuje pirámide decreciente formada por asteriscos(*). El método debe recibir la altura del triángulo. Además, añade un método adicional para que dibuje dicha pirámide sin relleno. Más abajo puedes ver un ejemplo de pirámide con altura 10.
				
					/**
 * Pirámide en JAVA
 * 
 * Crear un programa en JAVA que dibuje pirámide decreciente formada por asteriscos(*). 
 * El método debe recibir la altura de la pirámide. 
 * Además, añade código adicional para que dibuje dicha pirámide sin relleno
 * 
 * Ejemplo para entrada: altura = 5 
 * Salida: 
 *          * * * * * * * * *
 *            * * * * * * *
 *              * * * * *
 *                * * *
 *                  *
 *
 *          * * * * * * * * *    
 *            *           *
 *              *       *
 *                *   *
 *                  *
 */
public class Piramide {
    public static void main(String[] args)
    {
        final int ALTURA = 10; // poner aquí la altura de la pirámide
        piramide(ALTURA);
        System.out.println();
        piramideSinRelleno(ALTURA); 
    }
    //método que dibuja una pirámide decreciente con relleno
    static void piramide(int altura)
    {
        int base = altura * 2 - 1; 
        for (int i = altura - 1; i >= 0; i--) {
            for (int j = 0; j < base; j++) {
                //si está entre la posición central menos la fila actual, hasta posición central más la fila actual
                if (j >= altura - 1 - i && j <= altura - 1 + i)
                    System.out.print("* ");
                else
                    System.out.print("  ");
            }
            System.out.println();
        }
    } 
    //método que dibuja una pirámide decreciente sin relleno
    static void piramideSinRelleno(int altura)
    {
        int base = altura * 2 - 1; 
        for (int i = altura - 1; i >= 0; i--) {
            for (int j = 0; j < base; j++) {
                //si es la primera o la última del intervalo, o la primera fila
                if (j == base / 2 - i || j == base / 2 + i || i == altura - 1)
                    System.out.print("* ");
                else
                    System.out.print("  ");
            }
            System.out.println();
        }
    }     
}

				
			

Quieres ver en vídeo la explicación de algunos de los ejercicios resueltos?

MÁS EJERCICIOS RESUELTOS

CURSO DE JAVA

Icono cookies
Icono cookies

Utilizamos cookies para asegurar que damos la mejor experiencia al usuario. Si continúa navegando, consideramos que acepta nuestro uso de Cookies. Puede obtener más información en nuestra política de Cookies

Utilizamos cookies para asegurar que damos la mejor experiencia al usuario. Si continúa navegando, consideramos que acepta nuestro uso de Cookies. Puede obtener más información en nuestra política de Cookies