Java Program to Print Inverted Mirrored Right Angled Triangle Star Pattern

Program to Print Inverted Mirrored Right Triangle Star Pattern in Java

In this article we are going to see how to print the inverted mirrored right triangle star program.

Example-1

When row value=4
  ****
   ***
    **
     *
Example-2:

When row value=5
*****
  ****
   ***
    **
     *

Now, let’s see how program  printing it.

Are you wondering how to seek help from subject matter experts and learn the Java language? Go with these Basic Java Programming Examples and try to code all of them on your own then check with the exact code provided by expert programmers.

Approach:

  • Enter total row and store it in an integer variable row.
  • Take first for loop to print all rows.
  • Take first inner for loop to print column values (it will print space) .
  • Take second inner for loop to print column values (it will print *) .
  • continue printing the star symbols according to the iteration.

JAVA Code:

Method-1 : Static Star Character

import java.util.Scanner;
public class Main
{ 
    public static void main(String[] args)
        {
            int row , r, c ;
            // creating Object
            Scanner sc=new Scanner(System.in);
            // entering no. of rows
            System.out.print("Enter Row : ");
            row=sc.nextInt(); 
            for(r=row;r>0;r--)
                {
                    // printing space 
                    for( c=row-r;c>0;c--)
                        System.out.print(" ");
                    // printing stars
                    for( c=0;c<r;c++)
                        System.out.print("*");
                     //taking to new line
                    System.out.println();
                }
         }
}

Output :

Enter Row : 5
 *****
  ****
   ***
    **
     *

Method-2 : User Input Character

import java.util.Scanner;
public class Main
{ 
    public static void main(String[] args)
        {
            int row , r, c ;
            // creating Object
            Scanner sc=new Scanner(System.in);
            // entering no. of rows
            System.out.print("Enter Row : ");
            row=sc.nextInt(); 
            // entering symbol
            System.out.print("Enter Row : ");
            char symbol=sc.next().charAt(0); 
            for(r=row;r>0;r--)
                {
                    // printing space 
                    for( c=row-r;c>0;c--)
                        System.out.print(" ");
                    // printing stars
                    for( c=0;c<r;c++)
                        System.out.print(symbol);
                     //taking to new line
                    System.out.println();
                }
         }
}

Output:

Enter Row : 5
Enter symbol : @
@@@@@
   @@@@
      @@@
         @@
            @

Explanation :

Let’s understand the program by going through the detailed explanation.

We have taken row value as 5.

Iteration-1

r=5(passes the first for loop condition) because it will execute until r>0

Now c=0 (because c= row-r)  so first inner for loop will execute 0 time(space printed) because it will execute until c>0

Now   second inner  for loop will execute and print “*” 5 times because it will iterate up to  c<r time.

* * * * *

Iteration-2

r=4(passes the first for loop condition) because it will execute until r>0

Now c=1 (because c= row-r)  so first inner for loop will execute 1 time(space printed) because it will execute until c>0

Now  so second inner  for loop will execute and print “*” 4 time because it will iterate up to c<r time .

 * * * * *

Iteration-3

r=3(passes the first for loop condition) because it will execute until r>0

Now c=2 (because c= row-r)  so first inner for loop will execute 2 time(space printed) because it will execute until c>0

Now  so second inner  for loop will execute and print “*” 3 time because it will iterate up to  c<r time .

  * * *

Iteration-4

r=2(passes the first for loop condition) because it will execute until r>0

Now c=3 (because c= row-r)  so first inner for loop will execute 3 time(space printed) because it will execute until c >0

Now  so second inner  for loop will execute and print “*” 2 time because it will iterate up to  c<r time .

   * *

Iteration-5

r=1(passes the first for loop condition) because it will execute until r>0

Now c=4 (because c= row-r)  so first inner for loop will execute 4 time(space printed) because it will execute until c>0

Now  so second inner  for loop will execute and print “*” 1 time because it will iterate up to  c<r time .

    *

Now r =0, so first for loop condition will fail.  So next for loop will not be executed any more.

Now, after end of all iteration we will see the complete pattern is printed on the output screen like this.

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

C Code:

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


Output :  

Enter Row : 5 
 ***** 
  **** 
   *** 
    ** 
     *

C++ Code:

#include <iostream>
using namespace std;
int main()
{
   int row, r , c ,d ;
   cout << "Enter  rows: ";
   cin >> row;
    for(r=row;r>0;r--)
    {
     for( c=row-r;c>0;c--)
         cout << " ";
    for( c=0;c<r;c++)
         cout << "*";
    cout << "\n";
    }
    return 0;
}
Output :  

Enter Row : 5 
***** 
 **** 
  *** 
   ** 
    *

Related Java Star Pattern Programs: