Open In App

Printing Triangle Pattern in Java

Given a number N, the task is to print the following pattern:- Examples:

Input : 10
Output :                    
          * 
         * * 
        * * * 
       * * * * 
      * * * * * 
     * * * * * * 
    * * * * * * * 
   * * * * * * * * 
  * * * * * * * * * 
 * * * * * * * * * * 

Input :5
Output :
     * 
    * * 
   * * * 
  * * * * 
 * * * * * 

There is a nested loop required to print the above pattern. The outer loop is used to run for the number of rows given as input. The first loop within the outer loop is used to print the spaces before each star. As you can see the number of spaces decreases with each row while we move towards the base of the triangle, so this loop runs one time less with each iteration. The second loop within the outer loop is used to print the stars. As you can see the number of stars increases in each row as we move towards the base of the triangle, so this loop runs one time more with each iteration. Clarity can be achieved if this program is dry run. 






// Java Program to print the given pattern
import java.util.*; // package to use Scanner class
class pattern {
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter the number of rows to be printed");
        int rows = sc.nextInt();
  
        // loop to iterate for the given number of rows
        for (int i = 1; i <= rows; i++) {
  
            // loop to print the number of spaces before the star
            for (int j = rows; j >= i; j--) {
                System.out.print(" ");
            }
  
            // loop to print the number of stars in each row
            for (int j = 1; j <= i; j++) {
                System.out.print("* ");
            }
  
            // for new line after printing each row
            System.out.println();
        }
    }
}

Time Complexity: O(rows*rows)
Auxiliary Space: O(1)

Method 2:Using Recursion




// Java code to demonstrate star pattern
import java.util.*;
  
class GFG {
  
    // function to print spaces
    static void printspace(int space)
    {
        // base case
        if (space == 0)
            return;
        System.out.print(" ");
  
        // recursively calling printspace()
        printspace(space - 1);
    }
  
    // function to print asterisks
    static void printstar(int asterisk)
    {
        // base case
        if (asterisk == 0)
            return;
        System.out.print("* ");
  
        // recursively calling printstar()
        printstar(asterisk - 1);
    }
  
    // function to print the pattern
    static void printrow(int n, int num)
    {
        // base case
        if (n == 0)
            return;
        printspace(n - 1);
        printstar(num - n + 1);
        System.out.println("");
  
        // recursively calling printrow()
        printrow(n - 1, num);
    }
  
    // Driver code
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        int rows = 5;
        printrow(rows, rows);
    }
}
// this code is contributed by Shivesh Kumar Dwivedi

Output

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

Time Complexity: O(rows*rows)
Auxiliary Space: O(1)


Article Tags :