Java – How to print a Pyramid
A Java example to print half and full pyramid, for fun.
CreatePyramid.java
package com.mkyong;
import java.util.Collections;
public class CreatePyramid {
public static void main(String[] args) {
int rows = 5;
System.out.println("\n1. Half Pyramid\n");
for (int i = 0; i < rows; i++) {
for (int j = 0; j <= i; j++) {
System.out.print("*");
}
System.out.println("");
}
System.out.println("\n2. Full Pyramid\n");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < rows - i; j++) {
System.out.print(" ");
}
for (int k = 0; k <= i; k++) {
System.out.print("* ");
}
System.out.println("");
}
//java 8 , one line
System.out.println("\n3. Full Pyramid (Compact)\n");
for (int i = 0; i < rows; i++) {
System.out.println(String.join("", Collections.nCopies(5 - i - 1, " "))
+ String.join("", Collections.nCopies(2 * i + 1, "*")));
}
// java 8
System.out.println("\n4. Inverted Pyramid\n");
for (int i = rows; i > 0; i--) {
System.out.println(String.join("", Collections.nCopies(5 - i, " "))
+ String.join("", Collections.nCopies(2 * i - 1, "*")));
}
}
}
Output
1. Half Pyramid
*
**
***
****
*****
2. Full Pyramid
*
* *
* * *
* * * *
* * * * *
3. Full Pyramid (Compact)
*
***
*****
*******
*********
4. Inverted Pyramid
*********
*******
*****
***
*
In Java 8, a *REAL* one line of Half Pyramid:
Arrays.stream(new int[]{1, 2, 3, 4, 5}).forEach(i -> System.out.println(String.format(“%0” + i + “d”, 0).replace(“0”, “*”)));
🙂
It’s like “Hello, World,” but challenging. I like it!
Explained Very well.
Thanks.
I used to do this for fun …
You made me remember my academic days :). We have come a long way since then. Very sophisticated and neat!!!
same like print pyramid in c or c++
only some syntax difference.
Well! you really back my old day’s memory. Can we try a little different solution, like printing the above pyramid without using any loop? Also not like a solution to use a series of a print statement.