public class Main{
static void printLine(int width){
for (int i = 0; i< width; i ++){
System.out.print("*");
}
System.out.println();
}
static void printTriangleB(int height){
if (height <= 0){
return;
}
printTriangleB(height-1);
printLine(height);
}
public static void main(String[] args){
printTriangleB(4);
}
}
printTriangleB(4);
printTriangleB(3);
printTriangleB(2);
printTriangleB(1);
printTriangleB(0);
// Aquí se cumple la condición if (height <= 0) terminando la recursividad, no hay mas llamadas a printTriangleB()
// Regresa el control del flujo a la instrucción siguiente de de printTriangleB(0); que es printLine(1); y así sucesivamente.
printLine(1);
printLine(2);
printLine(3);
printLine(4);
printTriangleB(height-1);
printLine(height);
// printTriangleB(4);
if (4 > 0){
// printTriangleB(height-1);
if (3 > 0){
// printTriangleB(height-1);
if (2 > 0){
// printTriangleB(height-1);
if (1 > 0){
// printTriangleB(height-1);
if (0 > 0){
// Estas lineas y no se ejecutan
printTriangleB(height-1);
printLine(0);
} // Finaliza printTriangleB(0);
printLine(1);
} // Finaliza printTriangleB(1);
printLine(2);
} // Finaliza printTriangleB(2);
printLine(3);
} // Finaliza printTriangleB(3);
printLine(4);
} // Finaliza printTriangleB(4);