GeeksforGeeks App
Open App
Browser
Continue

# Java Program to Print Mirror Lower Star Triangle Pattern

In this article, we are going to learn how to print mirror lower star triangle patterns in Java.

Illustration:

```Input: number = 7
Output:
* * * * * * *
* * * * * *
* * * * *
* * * *
* * *
* *
*
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * * ```

Methods: We can print mirror lower star triangle pattern using loops, so

1. Using for loop
2. Using while loop
3. Using do-while loop

Method 1: Using for Loop

Example

## Java

 `// Java program to print Mirror Lower Star Triangle Pattern``// Using For loop``import` `java.io.*;` `// Main class``class` `GFG {` `    ``// Method``    ``// Main driver method``    ``public` `static` `void` `main(String[] args)``    ``{``        ``// Declare and initialize variable to``        ``// Size of the triangle``        ``int` `number = ``7``;` `        ``// Declaring two variables for rows and columns``        ``int` `m, n;` `        ``// Outer loop 1``        ``// Prints the first half triangle``        ``for` `(m = ``1``; m <= number; m++) {` `            ``// Inner loop 1``            ``for` `(n = ``1``; n < m; n++) {``                ``// Print whitespace``                ``System.out.print(``" "``);``            ``}` `            ``// Inner loop 2``            ``for` `(n = m; n <= number; n++) {``                ``// Print star``                ``System.out.print(``"*"``                                 ``+ ``" "``);``            ``}` `            ``// Ending line after each row``            ``System.out.println();``        ``}` `        ``// Outer loop 2``        ``// prints the second half triangle``        ``for` `(m = number - ``1``; m >= ``0``; m--) {` `            ``// Inner loop 1``            ``for` `(n = ``0``; n < m; n++) {``                ``// Print whitespace``                ``System.out.print(``" "``);``            ``}` `            ``// Inner loop 2``            ``for` `(n = m; n <= number - ``1``; n++) {``                ``// Print star``                ``System.out.print(``"*"``                                 ``+ ``" "``);``            ``}` `            ``// Ending line after each row``            ``System.out.println();``        ``}``    ``}``}`

Output

```* * * * * * *
* * * * * *
* * * * *
* * * *
* * *
* *
*
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * * ```

Time complexity: O(n^2) where n is given input number
Auxiliary Space: O(1) because it using constant variable

Method 2: Using While Loop

Example

## Java

 `// Java program to Print Mirror Lower Star Triangle Pattern``// using While loop``import` `java.io.*;` `// Main Class``class` `GFG {` `    ``// Main driver method``    ``public` `static` `void` `main(String[] args)``    ``{``        ``// Declare and initialize variable to``        ``// Size of the triangle``        ``int` `number = ``7``;` `        ``int` `m = number;``        ``int` `n;` `        ``// Outer loop 1``        ``// prints the first half triangle` `        ``// Till condition holds true``        ``while` `(m > ``0``) {``            ``n = ``0``;` `            ``// Inner loop 1``            ``// prints space until n++ < number - m is false``            ``while` `(n++ < number - m) {``                ``// print whitespace``                ``System.out.print(``" "``);``            ``}` `            ``n = ``0``;` `            ``// Inner loop 2``            ``// Prints star until n++ < (m * 2) - 1 is false``            ``while` `(n++ < (m * ``2``) - ``1``) {``                ``// Print star``                ``System.out.print(``"*"``);``            ``}` `            ``// Ending line after each row``            ``System.out.println();` `            ``// Decrementing by one``            ``m--;``        ``}` `        ``m = ``1``;` `        ``// Outer loop 2``        ``// prints the second half triangle``        ``while` `(m <= number) {``            ``n = ``0``;` `            ``// Inner loop 1``            ``// prints space until n++ < number - m is false``            ``while` `(n++ < number - m) {``                ``// Print whitespace``                ``System.out.print(``" "``);``            ``}` `            ``n = ``0``;` `            ``// Inner loop 2``            ``// Prints star until n++ < (m * 2) - 1 is false``            ``while` `(n++ < (m * ``2``) - ``1``) {``                ``// print star``                ``System.out.print(``"*"``);``            ``}` `            ``// Ending line after each row``            ``System.out.println();` `            ``m++;``        ``}``    ``}``}`

Output

```*************
***********
*********
*******
*****
***
*
*
***
*****
*******
*********
***********
*************```

Output:

Method 3: Using do-while Loop

Implementation:

Example

## Java

 `// Java program to print Mirror Lower Star Triangle Pattern``// using Do-while loop``import` `java.io.*;` `// Main class``class` `GFG {` `    ``// Main driver method``    ``public` `static` `void` `main(String[] args)``    ``{``        ``// Declare variable with the``        ``// Size of the triangle``        ``int` `number = ``7``;` `        ``int` `m = number;``        ``int` `n;` `        ``// Outer loop 1``        ``// prints the first half triangle``        ``do` `{``            ``n = ``0``;` `            ``// Inner loop 1``            ``// prints space until n++ < number - m is false``            ``do` `{``                ``// Print whitespaces``                ``System.out.print(``" "``);` `            ``} ``while` `(n++ < number - m);` `            ``n = ``0``;` `            ``// Inner loop 2``            ``// prints star until n++ < m * 2 - 2 is false``            ``do` `{``                ``// Print star``                ``System.out.print(``"*"``);``            ``}` `            ``while` `(n++ < m * ``2` `- ``2``);` `            ``System.out.println(``""``);` `        ``}` `        ``// Condition check for do-while``        ``while` `(--m > ``0``);` `        ``m = ``1``;` `        ``// Outer loop 2``        ``// prints the second half triangle``        ``do` `{``            ``n = ``0``;` `            ``// Inner loop 1``            ``// prints space until n++ < (number - m) is``            ``// false``            ``do` `{``                ``// Print whitespace``                ``System.out.print(``" "``);` `            ``} ``while` `(n++ < (number - m));` `            ``n = ``0``;` `            ``// Inner loop 2``            ``// prints star until n++ < (m * 2) - 2 is false``            ``do` `{``                ``// Print star``                ``System.out.print(``"*"``);``            ``}` `            ``while` `(n++ < (m * ``2``) - ``2``);` `            ``System.out.println(``""``);` `        ``}` `        ``// Condition check for do-while``        ``while` `(++m <= number);``    ``}``}`

Output

``` *************
***********
*********
*******
*****
***
*
*
***
*****
*******
*********
***********
*************```

Time complexity: O(N2) where N is given input size of triangle
Auxiliary Space : O(1) because it using constant variable

My Personal Notes arrow_drop_up