Saturday, September 6, 2025
HomeLanguagesJavaJava Program to Print Mirror Upper Star Triangle Pattern

Java Program to Print Mirror Upper Star Triangle Pattern

The pattern has two parts – both mirror reflections of each other. The base of the triangle has to be at the bottom of the imaginary mirror and the tip at the top.

Illustration:

Input:
size = 7

Output:

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

Approach: 

Divide pattern into sub-patterns

  • Divide this into two parts
    • Upper part
    • Lower part
  • Both parts are a mirror reflection of each other. And each part comprises 2 triangles. Therefore, In total, we have to print 4 triangles to get the desired pattern.

ava Program to Print Mirror Upper Star Triangle Pattern

Example 1: Upper Part

Java




// Java Program to Print Upper Part of Mirror Upper Star
// Triangle Pattern
 
// Importing input output classes
import java.io.*;
 
// Main Class
class GFG {
 
    // Method 1
    // To print upper part of the pattern
    private static void displayUpperPart(int size)
    {
 
        // Declaring variables for rows and columns
        // respectively
        int m, n;
 
        // Outer loop for rows
        for (m = size - 1; m >= 0; m--) {
 
            // Inner loop 1
            // to print triangle 1
            for (n = 0; n < m; n++) {
 
                // Printing whitespace
                System.out.print(" ");
            }
 
            // Inner loop 2
            // to print triangle 2
            for (n = m; n <= size - 1; n++) {
 
                // Printing star with whitespace
                System.out.print("*"
                                 + " ");
            }
 
            // By now done with one row so next line
            System.out.println();
        }
    }
 
    // Method 2
    // Main driver method
    public static void main(String[] args)
    {
        // Declaring and initializing variables to
        // size of the triangle
        int size = 7;
 
        // Calling the above Method 1 to
        // print and display the upper part of triangle
        displayUpperPart(size);
    }
}


 
 

Output

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

 

Example 2: Lower Part of the triangle 

 

Java




// Java Program to Print Lower Part of Mirror Upper Star
// Triangle Pattern
 
// Importing input output classes
import java.io.*;
 
// Main Class
class GFG {
 
    // Method 1
    // To print lower part of the pattern
    private static void displayLowerPart(int size)
    {
 
        // Declaring variables for rows and columns
        // respectively
        int m, n;
 
        // Outer loop fo Rows
        for (m = 1; m <= size; m++) {
 
            // Inner loop 1 to print triangle 3
            for (n = 1; n < m; n++) {
 
                // Printing whitespace
                System.out.print(" ");
            }
 
            // Inner loop 2 to print triangle 4
            for (n = m; n <= size; n++) {
 
                // Printing star and whitespace
                System.out.print("*"
                                 + " ");
            }
 
            // By now done with one row so new line
            System.out.println();
        }
    }
 
    // Method 2
    // Main driver method
    public static void main(String[] args)
    {
        // Declaring and initializing variable to
        // size of the triangle
        // This is number of rows
        int size = 7;
 
        // Calling the above Method1
        // to display lower part of the triangle
        displayLowerPart(size);
    }
}


 
 

Output

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

 

Example 3: Complete Mirror Upper Star Triangle Pattern

 

Java




// Java Program to Print Mirror upper Star triangle Pattern
 
// Importing input output classes
import java.io.*;
 
// Main Class
public class GFG {
 
    // Method 1
    // To print upper part of the pattern
    private static void displayUpperPart(int size)
    {
 
        // Declaring variables for rows and columns
        // respectively
        int m, n;
 
        // Outer loop for rows
        for (m = size - 1; m >= 0; m--) {
 
            // Inner loop 1
            for (n = 0; n < m; n++) {
 
                // Printing whitespace
                System.out.print(" ");
            }
 
            // Inner loop 2
            for (n = m; n <= size - 1; n++) {
 
                // Printing star with whitespace
                System.out.print("*"
                                 + " ");
            }
 
            // By now we are done with one row so new line
            System.out.println();
        }
    }
 
    // Method 2
    // To print lower part of the pattern
    private static void displayLowerPart(int size)
    {
 
        // Declaring variables for rows and columns
        // respectively
        int m, n;
 
        // Outer loop for rows
        for (m = 1; m <= size; m++) {
 
            // Inner loop 1
            for (n = 1; n < m; n++) {
 
                // Printing whitespace
                System.out.print(" ");
            }
 
            // Inner loop 2
            for (n = m; n <= size; n++) {
 
                // Printing star and whitespace
                System.out.print("*"
                                 + " ");
            }
 
            // By now we are done with one row so new line
            System.out.println();
        }
    }
 
    // Method 3
    // Main driver method
    public static void main(String[] args)
    {
        // Declaring and initializing variable to
        // size of the triangle
        int size = 7;
 
        // Calling Method 1 to
        // display the upper part
        displayUpperPart(size);
 
        // Calling Method 2 to
        // display lower part
        displayLowerPart(size);
    }
}


 
 

Output

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

Time complexity: O(n2) where n is given input size
Auxiliary Space : O(1)
 

Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Dominic
32270 POSTS0 COMMENTS
Milvus
82 POSTS0 COMMENTS
Nango Kala
6639 POSTS0 COMMENTS
Nicole Veronica
11803 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11869 POSTS0 COMMENTS
Shaida Kate Naidoo
6752 POSTS0 COMMENTS
Ted Musemwa
7029 POSTS0 COMMENTS
Thapelo Manthata
6705 POSTS0 COMMENTS
Umr Jansen
6721 POSTS0 COMMENTS