Open In App

Printing Triangle Pattern in Java

Improve
Improve
Like Article
Like
Save
Share
Report

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




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




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



Last Updated : 13 Mar, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads