# Print Mirror Lower Star Triangle in Java

Programming is always a fun and creative task. The more creative you can think the better programmer you will become. However, programming isn’t always about solving problems sometimes there’s also a fun aspect to it which makes it way more satisfying. If you are a programmer then you might have already played with patterns, strings, etc multiple times. Well, it’s also likely that you are already familiar with printing triangle patterns. So in today’s article, we will create a program to Print Mirror Lower Star Triangle in Java. With the help of this program, you will be able to print an amazing looking mirror copy of your printed star pattern using java language. Practising these types of questions also helps to get an upper edge in Competitive Programming.

So open up your IDE and let’s get started real quick. Once you understand the logic practice this program on your own to make your brain work in a problem-solving way. This is a somewhat tricky question you might get asked in an interview so make sure to practice it on your own after reading this article.

Also Read Print Alphabet Inverted Heart Pattern in Java

## What’s The Approach?

Well, it’s a question that can be answered in many different ways based on your ability of creative thinking. But for the sake of simplicity, we are going to use different loops to print the same mirror star pattern for triangles in Java.

## Java Program To Print Mirror Lower Star Triangle

1) for loop

```// Java program to print Mirror Lower Star Triangle Pattern
// Using For loop
import java.io.*;

// Main class
class TechDecodeTutorials {

// 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

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

2) while loop

```// Java program to Print Mirror Lower Star Triangle Pattern
// using While loop
import java.io.*;

// Main Class
class TechDecodeTutorials {

// 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

// ill 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

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

3) do while loop

```// Java program to print Mirror Lower Star Triangle Pattern
// using Do-while loop
import java.io.*;

// Main class
class TechDecodeTutorials {

// 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

```*************
***********
*********
*******
*****
***
*
*
***
*****
*******
*********
***********
*************``` #### Ethix

I'm a coding geek interested in cyberspace who loves to write and read