Primero, determinemos nuestro resultado de salida:

Entonces, ¿cómo podemos lograr esto?

1. Primero, analicemos la estructura del gráfico

Podemos ver que el gráfico tiene 5 líneas en total. Entonces, ¿podemos crear una declaración de bucle for para controlar que sean 5 líneas? La respuesta es afirmativa.

for(int i = 1 ;i <= 5 ;i++ ){

}

Así, creamos un bloque de código de bucle for que se repite 5 veces, siendo el bucle más externo.

2. Luego, analicemos cómo está compuesto el gráfico. Podemos dividirlo en las siguientes partes: /p>

Podemos dividir el gráfico en estos tres triángulos.

3. Crear el triángulo en blanco n.º 1

Podemos ver que la primera línea genera 4 espacios, la segunda genera 3 espacios, la tercera genera 2, la cuarta genera 1 y la quinta no tiene ninguno.

De este patrón se puede ver que es un patrón de decremento sucesivo. Entonces, ¿cómo implementarlo?

Podemos imaginar que del 1 al 5 hay cuatro números en medio; del 2 al 5 hay 3 números en medio, del 3 al 5...

¿Podemos usar este principio? La respuesta es, por supuesto. Entonces, ¿cómo implementarlo? Mire el código:

for(int i = 1;i<=5 ;i++) {
    for(int j = 5; j >= i ; j--)//建立1号图形
        System.out.print(" ");
    System.out.println();
}

La primera declaración for es la declaración de bucle de cinco iteraciones que definimos anteriormente.

El segundo bucle for, vamos a analizarlo:

Primero, definimos una variable j de tipo int y le asignamos el valor 5.

Luego pensamos, ya que queremos acortar la distancia, entonces en cada iteración j se decrementa en 1, lo cual cumple exactamente con nuestro requisito:

En la primera iteración del bucle grande, i=1, j=5, por lo que cumple la condición j>=i, luego imprime un espacio, luego j-1, ahora el valor de j es 4, cumple j>=i, imprime de nuevo.

……

Hasta que j=0, j>=i no se cumple, se sale del bucle interno.

Ahora llega a System.out.println(); para un salto de línea.

Ahora volvemos al bucle externo, i++, i se convierte en 2, cumple i<=5, entra al bucle interno.

Definimos j=5, j>=i, se cumple, imprime un espacio, j-1.

j ahora es 4, j>=i, se cumple, imprime un espacio, j-1.

……

Hasta j=1, j>=i, no se cumple, se sale del bucle interno, y luego salto de línea.

Luego i+1 y luego se entra nuevamente al bucle interno...

Continuando así el ciclo, se forma un triángulo invertido de cuatro líneas, y el patrón n.º 1 queda formado.

4. Crear el gráfico n.º 2. El principio es exactamente el mismo que el gráfico n.º 1, pero justo al revés.

for(int i = 1 ;i<=5 ;i++){
    for(int j = 5; j >= i ; j--)//建立1号图形
        System.out.print(" ");
    for(int j = 1; j <= i; j++)//建立2号图形
        System.out.print("*");
    System.out.println();
}

Igual que al crear el gráfico n.º 1, pueden entenderlo por sí mismos, así se crea el n.º 2.

5. Crear el gráfico n.º 3

for(int i = 1; i <= 5; i++){
    for(int j = 5 ;i <= j; j--)//建立1号图形
        System.out.print(" ");
    for(int j = 1; j <= i; j++)//建立2号图形
        System.out.print("*");
    for(int j = 1; j < i; j ++)//建立3号图形
        System.out.print("*");

}

De manera similar, igual que el n.º 1 y el n.º 2, el principio para crear el gráfico n.º 3 es el mismo.

Pero presten atención a un punto: el gráfico n.º 3 no se imprime en la primera línea, por lo que debemos cortarlo en la primera iteración del bucle grande y permitir que se imprima en la segunda iteración.

Por lo tanto, esta vez la condición de juicio es j < i, eliminando el signo igual.

Código fuente completo:

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

Correo electrónico del autor colaborador: [email protected]