Aprende a imprimir un triángulo de x filas basado en un asterisco en la consola con Java.

Aunque probablemente ningún tipo de cliente te pedirá que hagas algo como esto en la vida real con declaraciones impresas en la consola, entender cómo la lógica propuesta para construir un triángulo con asteriscos puede ser útil para potenciar tu lógica de programación. Además, probablemente necesitará hacer esto algún día en el colegio o universidad como una asignatura de Programación I o una introducción a la Programación. Esto se puede hacer fácilmente con el siguiente código:

System.out.println("* ");
System.out.println("* *");
System.out.println("* * *");
System.out.println("* * * *");

¡Sí, absolutamente funcional! Pero tremendamente escalable y ¿qué pasa con la orientación opuesta? En este breve artículo, te explicaremos fácilmente una forma de dibujar los famosos triángulos utilizando bucles en Java.

Imprimir un triángulo orientado a la izquierda

Como lógica para imprimir un triángulo orientado a la izquierda con asteriscos en Java, crearemos un bucle que iterará el número de filas que el usuario desee para el triángulo. Dentro de este ciclo, también se ejecutará otro ciclo e imprimirá un asterisco siempre que el índice de iteración actual sea más bajo que el índice de iteración del ciclo principal. El uso de la declaración de impresión le permite concatenar el texto en una sola línea, por lo que el método println se ejecuta solo una vez que termina el ciclo interno:

package com.ourcodeworld.sandbox;

public class Sandbox 
{
    public static void main (String args [])
    {
        int rows = 4;
                
        for (int x = 1; x <= rows; x++)
        {
            for (int i = 1; i <= x; i++)
            {
                System.out.print("* ");
            }
            
            System.out.println("");
        }
    }
}

La ejecución del fragmento anterior imprimirá el siguiente triángulo:

* 
* * 
* * * 
* * * *

Imprimir un triángulo orientado a la derecha

Como lógica para el triángulo orientado a la derecha, crearemos un bucle indexado por j que iterará el número de filas que el usuario desea para el triángulo también. Sin embargo, dentro de este ciclo, tendremos 2 ciclos internos indexados por i y k . El primer ciclo i solo imprime un carácter vacío en la misma línea siempre que el índice de iteración actual de i sea ​​menor que la diferencia del número máximo de filas menos el índice de iteración actual del padre ( j ). El segundo bucle imprimirá el asterisco siempre que el índice de iteración actual identificado por k sea menor que el índice de iteración actual del bucle principal, es decir j:

package com.ourcodeworld.sandbox;

public class Sandbox 
{
    public static void main (String args [])
    {
        int rows = 4;
        
        for(int j=1;j <= rows;j++){
            for(int i=1;i <= rows-j;i++){
                System.out.print("  ");
            }
            
            for(int k=1;k<=j; k++){
                System.out.print("* ");
            }

            System.out.println();
        }
    }
}

La ejecución del fragmento anterior imprimirá el siguiente triángulo:

      * 
    * * 
  * * * 
* * * * 

Que te diviertas ❤️!


Ingeniero de Software Senior en EPAM Anywhere. Interesado en la programación desde los 14 años, Carlos es un programador autodidacta, fundador y autor de la mayoría de los artículos de Our Code World.

Conviertete en un programador más sociable

Patrocinadores