Java program to print Hollow Pyramid star pattern program. We have written below the print/draw Hollow Pyramid asterisk/star pattern program in four different ways with sample example and output, check it out. At the end of the program, we have added compiler so that you can execute the below codes – Check 20+ different star pattern programs in Java.
- Using For Loop
- Using While Loop
- Using Do While Loop
Using For Loop
1) Reads the n value using Scanner object sc.
2) To iterate through rows run the outer for loop with the structure for(int i=1;i<=n;i++).
3) To iterate through columns run the inner loops.
4) The 1st inner loop prints space for i<=n && j<=n-i.
5) If “if” condition true- for loop prints charter when j<=i*2-1 is true.
6) if condition false-next for loop prints charter if if(j==1 || j==i*2-1) condition is true. Otherwise, it prints space.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
public class PASMtangle { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("Enter N : "); int n=sc.nextInt(); System.out.print("Enter Symbol : "); char c = sc.next().charAt(0); for(int i=1;i<=n;i++) { for(int j=1;j<=n-i;j++) { System.out.print(" "); } if(i==1 || i==n) for(int j=1;j<=i*2-1;j++) { System.out.print(c); } else { for(int j=1;j<=i*2-1;j++) { if(j==1 || j==i*2-1) System.out.print(c); else System.out.print(" "); } } System.out.println(); } } } |
Output:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Enter N : 10 Enter Symbol : * * * * * * * * * * * * * * * * * * ******************* |
Using While Loop
1) Outer while loop iterates until i<=n. Outer while loop iterates through rows.
2) Inner while loops iterates through columns.
3) 1st while loop prints space if the condition j++<=n-i is true.
4) If if(i==1 || i==n) condition true then 1st inner loop will print charter until the j++<=i*2-1 condition is true. If condition is false then 2nd inner loop prints charter if if(j==1 || j==(i*2)-1) is true, until while(j<=(i*2)-1) is false, otherwise prints space.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
import java.util.Scanner; public class PASMtangle { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("Enter N : "); int n=sc.nextInt(); System.out.print("Enter Symbol : "); char c = sc.next().charAt(0); int i=1; int j; while(i<=n) { j=1; while(j++<=n-i) { System.out.print(" "); } if(i==1 || i==n) { j=1; while(j++<=i*2-1) { System.out.print(c); } } else { j=1; while(j<=(i*2)-1) { if(j==1 || j==(i*2)-1) System.out.print(c); else System.out.print(" "); j++; } } System.out.println(); i++; } } } |
Output:
1 2 3 4 5 6 7 8 9 10 |
Enter N : 7 Enter Symbol : * * * * * * * * * * * * ************* |
Using Do-While Loop
1) The outer do while loop iterates until i<=n. Outer do-while loop iterates through rows.
2) The 1st inner do while loop prints space until the condition ++j <=n-i+1.
3) If if condition true then the inner do while loop prints charter until the condition (++j <=i*2-1) is false.
4) if “if” condition is false then next do-while loop prints charter if if(j==1 || j==i*2-1) is true until while(++j<=i*2-1) is false, otherwise it prints space.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
import java.util.Scanner; public class PASMtangle { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("Enter N : "); int n=sc.nextInt(); System.out.print("Enter Symbol : "); char c = sc.next().charAt(0); int i=1; int j; do { j=1; do { System.out.print(" "); }while(++j <=n-i+1); if(i==1 || i==n) { j=1; do { System.out.print(c); }while(++j <=i*2-1); } else { j=1; do { if(j==1 || j==i*2-1) System.out.print(c); else System.out.print(" "); }while(++j<=i*2-1); } System.out.println(); ++i; } while(i<=n); } } |
Output:
1 2 3 4 5 6 7 8 |
Enter N : 5 Enter Symbol : * * * * * * * * ********* |
More: