- 1Print Right Triangle Star Pattern in Java
- 2Print Inverted Right Triangle Star Pattern
- 3Print Mirrored Right Triangle Star Pattern in Java
- 4Print Inverted Mirrored Right Triangle Star Pattern
- 5Print Right Pascal's Triangle Star Pattern in Java
- 6Print K Shape Star Pattern in Java
- 7Print Mirrored Right Pascal's Triangle Pattern in Java
- 8Print Full Reverse K Star Pattern in Java
- 9Print Pyramid Star Pattern in Java
- 10Print Inverted Pyramid Star Pattern in Java
- 11Print Diamond Star Pattern in Java
- 12Print Hollow Diamond Star Pattern in Java
- 13Print Sandglass Star Pattern in Java
- 14Print Butterfly Star Pattern in Java
Print Inverted Pyramid Star Pattern in Java
Topic
In this program, we will learn how to print an inverted pyramid star pattern using Java. An inverted pyramid is a pattern where the top row contains the most stars, and each subsequent row contains two fewer stars, centered properly using spaces.
This problem helps beginners understand nested loops — one loop for rows and another for handling spaces and stars on each row.
Examples
Example 1 (n = 5):
*********
*******
*****
***
*
Example 2 (n = 3):
*****
***
*
Example 3 (Edge Case: n = 1):
*
Interviewer Expectations
The interviewer wants to assess your understanding of:
- Nested
for
loops - How to manage spaces and stars for symmetrical patterns
- Basic arithmetic and loop conditions
- Clean code structure and proper indentation
Approach
Let’s break it down:
- We take a number
n
as the input which represents the number of rows in the pyramid. - We use an outer loop to control the number of rows.
- For each row:
- Print spaces on the left to center the stars
- Then print the stars: number of stars is
2 * i - 1
wherei
is the current row number fromn
to 1
Dry Run (n = 3)
Row 1: spaces = 0, stars = 2*3-1 = 5 => *****
Row 2: spaces = 1, stars = 2*2-1 = 3 => ***
Row 3: spaces = 2, stars = 2*1-1 = 1 => *
Java Program
without newline for each star.", "After the stars, we move to the next line usingSystem.out.println()
.", "Repeat the above steps for each decreasing row untili = 1
.", "At the end, we have a complete inverted pyramid pattern printed.", "Themain
method ends here." ]'>public class InvertedPyramidPattern { public static void main(String[] args) { int n = 5; for (int i = n; i >= 1; i--) { for (int space = 0; space < n - i; space++) { System.out.print(" "); } for (int star = 0; star < 2 * i - 1; star++) { System.out.print("*"); } System.out.println(); } } }
*********
*******
*****
***
*
Possible Followup Questions with Answers
Q1: How would you print a normal (non-inverted) pyramid star pattern?
You would reverse the loop to go from 1 to n
and adjust the space and star logic accordingly:
for (int i = 1; i <= n; i++) {
for (int space = 0; space < n - i; space++) {
System.out.print(" ");
}
for (int star = 0; star < 2 * i - 1; star++) {
System.out.print("*");
}
System.out.println();
}
Q2: Can you make the stars print with a space in between, like "* * * * *"?
Yes, just print "* "
instead of "*"
inside the inner loop for stars.
Q3: What if we want the pattern to be left-aligned instead of centered?
Skip printing spaces before stars and just reduce the number of stars per row.
Q4: How do you make the pattern dynamic based on user input?
Use Scanner
to read value of n
from user:
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
Q5: What are common mistakes beginners make in such pattern problems?
- Incorrect loop boundaries
- Using
System.out.println()
instead ofSystem.out.print()
inside inner loops - Getting space and star counts wrong
Comments
Loading comments...