 GFG App
Open App Browser
Continue

# 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

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

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

My Personal Notes arrow_drop_up