Java Program to Print Inverted Pyramid Star Pattern

Program to Print inverted Pyramid Star Pattern

In this article we will are going to see how to print the Reversed Pyramid star pattern in Java.

Example-1
When row values=5
*********
 *******
  *****
   ***
    *
Example-2

When row value=4
*******
 *****
  ***
   *

Let’s see the actual program to print it.

Don’t stop learning now. Get hold of all the important Java fundamentals with the Simple java program example guide and practice well.

Approach:

  • Enter total row and store it in an integer variable row.
  • Take first for loop to print all the rows.
  • Take second/inner loop to print spaces.
  • Take third/inner loop to print the column values.
  • Then go on printing the star symbols according to the iteration.

JAVA Code:

Method-1 : Static Star Character

Java Program to Print Inverted Pyramid Star Pattern

import java.util.*;
  
class Main{
      
public static void main (String[] args) 
{
      
    // Height of the pyramid
    int row,r, c;
    System.out.print("Enter no of rows = ");
    Scanner sc= new Scanner(System.in);
    row=sc.nextInt();
      
    // Loop for no of ros
    for(r=1; r<=row; ++r)
    {
        // Print spaces
        for(c=1; c<=r; ++c)
        {
            System.out.print(" ");
        }
        // Print star/
        for(c =1; c <=((row*2)-((2*r)-1)); ++c)
        {
            System.out.print("*");
        }
        // Print new line
        System.out.println("");
    }

}
}


Output:

Enter no of rows = 5
*********
 *******
  *****
   ***
    *

Method-2 : User Input Character

import java.util.*;
  
class Main{
      
public static void main (String[] args) 
{
      
    
    int row,r, c;
    // Height of the pyramid
    System.out.print("Enter no of rows : ");
    Scanner sc= new Scanner(System.in);
    row=sc.nextInt();
    
    System.out.print("Enter symbol : ");
    char symbol=sc.next().charAt(0);
      
    // Loop for no of ros
    for(r=1; r<=row; ++r)
    {
        // Print spaces
        for(c=1; c<=r; ++c)
        {
            System.out.print(" ");
        }
        // Print star/
        for(c =1; c <=((row*2)-((2*r)-1)); ++c)
        {
            System.out.print(symbol);
        }
        // Print new line
        System.out.println("");
    }

}
}
Output:

Enter no of rows : 5
Enter symbol : @
@@@@@@@@@
   @@@@@@@
     @@@@@
        @@@
           @

Explanation:

Let’s understand the program will detailed explanation.

Let we have taken row as 5.

Iteration-I

r=1(passed through first for loop condition) which will execute till r<=row.

Now inner for loop will execute 1 time (print 1 space) because it will execute until c<=r. Another inner loop will execute 10-1 i.e. 9 times which will execute until  c<= ((row*2)-((2*r)-1)), here the star will be printed 9 times.

 *********

Iteration-II

r=2(passed through first for loop condition) which will execute till r<=row.

Now inner for loop will execute 2 time (print 2 spaces) because it will execute until c<=r. Another inner loop will execute 10-3 i.e. 7 times which will execute until c<= ((row*2)-((2*r)-1)), here the star will be printed 7 times.

  *******

Iteration-III

r=3(passed through first for loop condition) which will execute till r<=row.

Now inner for loop will execute 3 time (print 3 spaces) because it will execute until c<=r. Another inner loop will execute 10-5 i.e. 5 times which will execute until c<= ((row*2)-((2*r)-1)), here the star will be printed 5 times.

   *****

Iteration-IV

r=4(passed through first for loop condition) which will execute till r<=row.

Now inner for loop will execute 4 time (print 4 spaces) because it will execute until c<=r. Another inner loop will execute 10-7 i.e. 3 times which will execute until c<= ((row*2)-((2*r)-1)), here the star will be printed 3 times.

    ***

Iteration-V

r=5(passed through first for loop condition) which will execute till r<=row. Now inner for loop will execute 5 time (print 5 spaces) because it will execute until c<=r. Another inner loop will execute 10-9 i.e. 1 times which will execute until c<= ((row*2)-((2*r)-1)), here the star will be printed 1 time.

     *

Now r=6 where first for loop condition failed, so further inner for loops won’t be executed. And at last we will see a pattern like this as output.

 ********* 
  ******* 
   *****   
    ***    
     *

C Code:

#include <stdio.h>
int main()
{
    int r = 0,c = 0;
    int row = 0;
    printf("Enter no of rows = ");
    scanf("%d",&row);
    for(r=1; r<=row; ++r)
    {
        for(c=1; c<=r; ++c)
        {
            printf(" ");
        }
        for(c =1; c <=((row*2)-((2*r)-1)); ++c)
        {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}

Output:

Enter no of rows = 5
 *********
  *******
   *****
    ***
     *

C++ Code:

#include<iostream>
using namespace std;

int main()
{
    int r, c, row;
    
    cout << "Enter  no of rows =  ";
    cin >> row;
    for(r=1; r<=row; ++r)
    {
        for(c=1; c<=r; ++c)
        {
            cout<<(" ");
        }
        for(c =1; c <=((row*2)-((2*r)-1)); ++c)
        {
            cout<<("*");
        }
        cout<<("\n");
    }
 	return 0;
}

Output:

Enter  no of rows =  5
 *********
  *******
   *****
    ***
     *

Related Java Star Pattern Programs: