Related Articles
Java Program to Print Mirror Upper Star Triangle Pattern
• Difficulty Level : Basic
• Last Updated : 28 Mar, 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 uper 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