Skip to content
Related Articles

Related Articles

Improve Article

Java Program to Print Mirror Upper Star Triangle Pattern

  • Difficulty Level : Basic
  • Last Updated : 27 Apr, 2021

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.



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 rpw 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
      * 
     * * 
    * * * 
   * * * * 
  * * * * * 
 * * * * * * 
* * * * * * * 
* * * * * * * 
 * * * * * * 
  * * * * * 
   * * * * 
    * * * 
     * * 
      * 

 

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :