Top 30 Patterns in Java: How to Print Star, Number and Character
By: Swatee Chand
Tags: Java, Programming, Java Programs, Java Programming, Patterns In Java

Patterns in Java — Edureka

Java Interviews can give a hard time to programmers, such is the severity of the process. The ones who have attended the process will know that a pattern program is ought to pop up in the list of programs. This article precisely focuses on pattern programs in Java. I have classified the programs under the following clusters:

Pattern Programs in Java

Star Patterns in Java

Numeric Patterns

Character Patterns

Let’s get started. :-)

Star Patterns in Java

First, let us begin with the basic and the commonly asked pattern program in Java i.e Pyramid.

1. Pyramid Program

*

* *

* * *

* * * *

* * * * *

Let’s write the java code to understand this pattern better.

public class Edureka

{

public static void pyramidPattern(int n)

{

for (int i=0; i<n; i++) //outer loop for number of rows(n)

{

for (int j=n-i; j>1; j--) //inner loop for spaces

{

System.out.print(" "); //print space

}

for (int j=0; j<=i; j++ ) //inner loop for number of columns

{

System.out.print("* "); //print star

}



System.out.println(); //ending line after each row

}

}



public static void main(String args[]) //driver function

{

int n = 5;

pyramidPattern(n);

}

}

2. Right Triangle Star Pattern

*

* *

* * *

* * * *

* * * * *

Let’s write the java code to understand this pattern better.

public class Edureka

{

public static void rightTriangle(int n)

{

int i, j;

for(i=0; i<n; i++) //outer loop for number of rows(n)

{

for(j=2*(n-i); j>=0; j--) // inner loop for spaces

{

System.out.print(" "); // printing space

}

for(j=0; j<=i; j++) // inner loop for columns

{

System.out.print("* "); // print star

}

System.out.println(); // ending line after each row

}

}

public static void main(String args[])

{

int n = 5;

rightTriangle(n);

}

}

3. Left Triangle Star Pattern

*

* *

* * *

* * * *

* * * * *

Let’s write the java code to understand this pattern better.

public class Edureka

{

public static void printStars(int n)

{

int i, j;

for(i=0; i<n; i++) //outer loop for number of rows(n)

{

for(j=2*(n-i); j>=0; j--) // inner loop for spaces

{

System.out.print(" "); // printing space

}

for(j=0; j<=i; j++) // inner loop for columns

{

System.out.print("* "); // print star

}

System.out.println(); // ending line after each row

}

}

public static void main(String args[])

{

int n = 5;

printStars(n);

}

}

4. Diamond Shape Pattern Program in Java

Enter the number of rows: 5

*

***

*****

*******

*********

*******

*****

***

*

Let’s write the java code to understand this pattern better.

import java.util.Scanner;

public class Edureka

{

public static void main(String args[])

{

int n, i, j, space = 1;

System.out.print("Enter the number of rows: ");

Scanner s = new Scanner(System.in);

n = s.nextInt();

space = n - 1;

for (j = 1; j<= n; j++)

{

for (i = 1; i<= space; i++)

{

System.out.print(" ");

}

space--;

for (i = 1; i <= 2 * j - 1; i++)

{

System.out.print("*");

}

System.out.println("");

}

space = 1;

for (j = 1; j<= n - 1; j++)

{

for (i = 1; i<= space; i++)

{

System.out.print(" ");

}

space++;

for (i = 1; i<= 2 * (n - j) - 1; i++)

{

System.out.print("*");

}

System.out.println("");

}

}

}

5. Downward Triangle Star Pattern

Enter the number of rows: 5

* * * * *

* * * *

* * *

* *

*

Let’s write the java code to understand this pattern better.

import java.util.Scanner;

public class Edureka

{

public static void main(String[] args)

{

Scanner sc = new Scanner(System.in);



System.out.println("Enter the number of rows: "); //takes input from user



int rows = sc.nextInt();



for (int i= rows-1; i>=0 ; i--)

{

for (int j=0; j<=i; j++)

{

System.out.print("*" + " ");

}

System.out.println();

}

sc.close();

}

}

6. Mirrored Right Triangle Star Program

Enter the number of rows: 5

*

**

***

****

*****

******

Let’s write the java code to understand this pattern better.

import java.util.Scanner;

public class Edureka

{

public static void main(String[] args)

{

Scanner sc = new Scanner(System.in);



System.out.println("Enter number of rows: "); // takes input from user



int rows = sc.nextInt();



for (int i= 0; i<= rows; i++)

{

for (int j=1; j<=rows-i; j++)

{

System.out.print(" ");

}

for (int k=0;k<=i;k++)

{

System.out.print("*");

}

System.out.println("");

}

sc.close();



}

}

7. Reversed Pyramid Star Pattern

Enter the number of rows: 5

* * * * *

* * * *

* * *

* *

*

Let’s write the java code to understand this pattern better.

import java.util.Scanner;

public class Edureka

{

public static void main(String[] args)

{

Scanner sc = new Scanner(System.in);

System.out.println("Enter the number of rows: ");



int rows = sc.nextInt();

for (int i= 0; i<= rows-1 ; i++)

{

for (int j=0; j<=i; j++)

{

System.out.print(" ");

}

for (int k=0; k<=rows-1-i; k++)

{

System.out.print("*" + " ");

}

System.out.println();

}

sc.close();



}

}

8. Right down Mirror Star Pattern

Enter the number of rows: 5

*****

****

***

**

*

Let’s write the java code to understand this pattern better.

import java.util.Scanner;

public class Edureka

{



public static void main(String[] args)

{

Scanner sc = new Scanner(System.in); // takes input

System.out.println("Enter number of rows: ");

int rows = sc.nextInt();

for (int i= rows; i>= 1; i--)

{

for (int j=rows; j>i;j--)

{

System.out.print(" ");

}

for (int k=1;k<=i;k++)

{

System.out.print("*");

}

System.out.println("");

}

sc.close();

}

}

9. Right Pascal’s Triangle

Enter the number of rows: 5

*

* *

* * *

* * * *

* * * * *

* * * *

* * *

* *

*

Let’s write the java code to understand this pattern better.

import java.util.Scanner;

public class Edureka

{

public static void main(String[] args)

{

Scanner sc = new Scanner(System.in);

System.out.println("Enter the number of rows: ");



int rows = sc.nextInt();

for (int i= 0; i<= rows-1 ; i++)

{

for (int j=0; j<=i; j++)

{

System.out.print("*"+ " ");

}

System.out.println("");

}

for (int i=rows-1; i>=0; i--)

{

for(int j=0; j <= i-1;j++)

{

System.out.print("*"+ " ");

}

System.out.println("");

}

sc.close();

}

}

10. Left Triangle Pascal’s

Enter the number of rows: 5

*

**

***

****

*****

****

***

**

*

Let’s write the java code to understand this pattern better.

import java.util.Scanner;

public class Edureka

{



public static void main(String[] args)

{

Scanner sc = new Scanner(System.in);

System.out.println("Enter the number of rows: ");



int rows = sc.nextInt();

for (int i= 1; i<= rows ; i++)

{

for (int j=i; j <rows ;j++)

{

System.out.print(" ");

}

for (int k=1; k<=i;k++)

{

System.out.print("*");

}

System.out.println("");

}

for (int i=rows; i>=1; i--)

{

for(int j=i; j<=rows;j++)

{

System.out.print(" ");

}

for(int k=1; k<i ;k++)

{

System.out.print("*");

}

System.out.println("");



}

sc.close();

}

}

11. Sandglass Star Pattern

Enter the number of rows: 5

* * * * *

* * * *

* * *

* *

*

*

* *

* * *

* * * *

* * * * *

Let’s write the java code to understand this pattern better.

import java.util.Scanner;

public class Edureka

{

public static void main(String[] args)

{

Scanner sc = new Scanner(System.in);

System.out.println("Enter the number of rows: ");



int rows = sc.nextInt();

for (int i= 0; i<= rows-1 ; i++)

{

for (int j=0; j <i; j++)

{

System.out.print(" ");

}

for (int k=i; k<=rows-1; k++)

{

System.out.print("*" + " ");

}

System.out.println("");

}

for (int i= rows-1; i>= 0; i--)

{

for (int j=0; j< i ;j++)

{

System.out.print(" ");

}

for (int k=i; k<=rows-1; k++)

{

System.out.print("*" + " ");

}

System.out.println("");

}

sc.close();

}

}

12. Alphabet A Pattern

**

* *

***

* *

* *

* *

Let’s write the java code to understand this pattern better.

import java.util.Scanner;

public class Edureka

{

// Java program to print alphabet A pattern

void display(int n)

{

// Outer for loop for number of lines

for (int i = 0; i<=n; i++) {

// Inner for loop for logic execution

for (int j = 0; j<= n / 2; j++) {

// prints two column lines

if ((j == 0 || j == n / 2) && i != 0 ||

// print first line of alphabet

i == 0 && j != n / 2 ||

// prints middle line

i == n / 2)

System.out.print("*");

else

System.out.print(" ");

}

System.out.println();

}

}

public static void main(String[] args)

{

Scanner sc = new Scanner(System.in);

Edureka a = new Edureka();

a.display(7);

}

}

13. Triangle Star pattern

Enter the number of rows: 5

*

* *

* *

* *

*********

Let’s write the java code to understand this pattern better.

import java.util.Scanner;

public class Edureka

{

public static void main(String[] args)

{

Scanner sc = new Scanner(System.in);



System.out.println("Enter the number of rows: ");



int rows = sc.nextInt();



for (int i=1; i<= rows ; i++)

{

for (int j = i; j < rows ; j++) {

System.out.print(" ");

}

for (int k = 1; k <= (2*i -1) ;k++) {

if( k==1 || i == rows || k==(2*i-1)) {

System.out.print("*");

}

else {

System.out.print(" ");

}

}

System.out.println("");

}

sc.close();

}

}

14. Down triangle

Enter the number of rows: 5

*********

* *

* *

* *

*

Let’s write the java code to understand this pattern better.

import java.util.Scanner;

public class Edureka

{

public static void main(String[] args)

{

Scanner sc = new Scanner(System.in);

System.out.println("Enter the number of rows: ");



int rows = sc.nextInt();

for (int i=rows; i>= 1 ; i--)

{

for (int j = i; j < rows ; j++) {

System.out.print(" ");

}

for (int k = 1; k <= (2*i -1) ;k++) {

if( k==1 || i == rows || k==(2*i-1)) {

System.out.print("*");

}

else {

System.out.print(" ");

}

}

System.out.println("");

}

sc.close();

}

}

15. Diamond Star Pattern

Enter the number of rows: 5

*

* *

* *

* *

* *

* *

* *

* *

*

Let’s write the java code to understand this pattern better.

import java.util.Scanner;

public class Edureka

{

public static void main(String[] args)

{

Scanner sc = new Scanner(System.in);



System.out.println("Enter the number of rows: ");



int rows = sc.nextInt();

for (int i=1; i<= rows ; i++) { for (int j = rows; j > i ; j--) {

System.out.print(" ");

}

System.out.print("*");

for (int k = 1; k < 2*(i -1) ;k++)

{

System.out.print(" "); } if( i==1)

{

System.out.println("");

}

else { System.out.println("*");

}

}

for (int i=rows-1; i>= 1 ; i--)

{

for (int j = rows; j > i ; j--) {

System.out.print(" ");

}

System.out.print("*");

for (int k = 1; k < 2*(i -1) ;k++) {

System.out.print(" ");

}

if( i==1)

System.out.println("");

else

System.out.println("*");

}

sc.close();

}

}

Now that we have implemented star pattern programs in Java. Let us move further and implement some Numeric patterns.

Numeric Pattern in Java

1. Simple number program

1

1 2

1 2 3

1 2 3 4

1 2 3 4 5

Let’s write the java code to understand this pattern better.

public class Edureka

{

public static void printNums(int n)

{

int i, j,num;



for(i=0; i<n; i++) // outer loop for rows

{

num=1;

for(j=0; j<=i; j++) // inner loop for rows

{

// printing num with a space

System.out.print(num+ " ");



//incrementing value of num

num++;

}



// ending line after each row

System.out.println();

}

}

public static void main(String args[])

{

int n = 5;

printNums(n);

}

}

2. Number Pattern Program in java

1

2 3

4 5 6

7 8 9 10

11 12 13 14 15

Let’s write the java code to understand this pattern better.

import java.util.Scanner;



public class Edureka

{

public static void main(String[] args) {

int i, j, k = 1;

for (i = 1; i <= 5; i++) {

for (j = 1; j< i + 1; j++) {

System.out.print(k++ + " ");

}



System.out.println();

}

}



}

3. Pascal’s Triangle Program in Java

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

Let’s write the java code to understand this pattern better.

import java.util.Scanner;



public class Edureka

{

public static void main(String[] args) {



int n = 5;



for (int i = 0; i < n; i++) {

int number = 1;

System.out.printf("%" + (n - i) * 2 + "s", "");

for (int j = 0; j <= i; j++) {

System.out.printf("%4d", number);

number = number * (i - j) / (j + 1);

}

System.out.println();

}



}



}

4. Diamond Pattern Program in Java

1

212

32123

4321234

32123

212

1

Let’s write the java code to understand this pattern better.

import java.util.Scanner;



public class Edureka

{

public static void main(String[] args) {

for (int i = 1; i <= 4; i++)

{

int n = 4;



for (int j = 1; j<= n - i; j++)

{

System.out.print(" ");

}

for (int k = i; k >= 1; k--)

{

System.out.print(k);

}

for (int l = 2; l <= i; l++)

{

System.out.print(l);

}

System.out.println();

}

for (int i = 3; i >= 1; i--)

{

int n = 3;



for (int j = 0; j<= n - i; j++) { System.out.print(" "); } for (int k = i; k >= 1; k--)

{

System.out.print(k);

}

for (int l = 2; l <= i; l++)

{

System.out.print(l);

}



System.out.println();

}



}

}

5. Number Pattern Programs in Java

Enter the number of rows: 5

1

2 2

3 3 3

4 4 4 4

5 5 5 5 5

Let’s write the java code to understand this pattern better.

import java.util.Scanner;



public class Edureka

{

public static void main(String[] args)

{

Scanner sc = new Scanner(System.in); //Taking rows value from the user

System.out.println("Enter the number of rows: ");

int rows = sc.nextInt();

for (int i = 1; i <= rows; i++)

{

for (int j = 1; j <= i; j++)

{

System.out.print(i+" ");

}



System.out.println();

}

sc.close();

}

}

6. Descending order Pattern

Enter the number of rows: 5

5

5 4

5 4 3

5 4 3 2

5 4 3 2 1

Let’s write the java code to understand this pattern better.

import java.util.Scanner;

public class Edureka

{

public static void main(String[] args)

{

Scanner sc = new Scanner(System.in);



//Taking rows value from the user



System.out.println("Enter the number of rows: ");



int rows = sc.nextInt();

for (int i = rows; i >= 1; i--)

{

for (int j = rows; j >= i; j--)

{

System.out.print(j+" ");

}



System.out.println();

}

sc.close();

}

}

7. Right Triangle Numeric Pattern

Enter the number of rows: 5

1

2 1

3 2 1

4 3 2 1

5 4 3 2 1

Let’s write the java code to understand this pattern better.

import java.util.Scanner;

public class Edureka

{



public static void main(String[] args)

{

Scanner sc = new Scanner(System.in);



System.out.println("Enter the number of rows: ");



int rows = sc.nextInt();



for (int i = 1; i <= rows; i++) { for (int j = i; j >= 1; j--)

{

System.out.print(j+" ");

}



System.out.println();

}

sc.close();

}

}

8. Binary Number Pattern

Enter the number of rows: 5

10101

01010

10101

01010

10101

Let’s write the java code to understand this pattern better.

import java.util.Scanner;

public class Edureka

{



public static void main(String[] args)

{

Scanner sc = new Scanner(System.in);



System.out.println("Enter the number of rows: ");



int rows = sc.nextInt();



for (int i = 1; i <= rows; i++)

{

int num;



if(i%2 == 0)

{

num = 0;



for (int j = 1; j <= rows; j++)

{

System.out.print(num);



num = (num == 0)? 1 : 0;

}

}

else

{

num = 1;



for (int j = 1; j <= rows; j++)

{

System.out.print(num);



num = (num == 0)? 1 : 0;

}

}



System.out.println();

}



sc.close();

}

}

9. Zeros/ ones Pattern Programs

Enter the number of rows: 5

1

10

101

1010

10101

Let’s write the java code to understand this pattern better.

import java.util.Scanner;



public class Edureka

{

public static void main(String[] args)

{

Scanner sc = new Scanner(System.in);



System.out.println("Enter the number of rows: ");



int rows = sc.nextInt();

for (int i = 1; i <= rows; i++)

{

for (int j = 1; j <= i; j++)

{

if(j%2 == 0)

{

System.out.print(0);

}

else

{

System.out.print(1);

}

}



System.out.println();

}



sc.close();

}

}

10. Diamond Numeric Pattern

1 2 3 4 5

2 3 4 5

3 4 5

4 5

5

4 5

3 4 5

2 3 4 5

1 2 3 4 5

Let’s write the java code to understand this pattern better.

import java.util.Scanner;

public class Edureka

{

public static void main(String[] args)

{



int n = 5;



for (int i = 1; i <= n; i++)

{

for (int j = 1; j < i; j++)

{

System.out.print(" ");

}



for (int k = i; k <= n; k++)

{

System.out.print(k+" ");

}

System.out.println();

}

for (int i = n-1; i >= 1; i--)

{

for (int j = 1; j < i; j++)

{

System.out.print(" ");

}

for (int k = i; k <= n; k++)

{

System.out.print(k+" ");

}



System.out.println();

}



}

}

Now that we have implemented numeric pattern programs in Java. Let us move further and implement some character/ alphabet patterns.

Alphabet/ Character Patterns in Java

1. Right Alphabetic triangle

A

A B

A B C

A B C D

A B C D E

A B C D E F

Let’s write the java code to understand this pattern better.

import java.util.Scanner;



public class Edureka

{

public static void main(String[] args)

{

int alphabet = 65;

for (int i = 0; i <= 5; i++)

{

for (int j = 0; j <= i; j++)

{

System.out.print((char) (alphabet + j) + " ");

}

System.out.println();

}

}

}

2. Alphabet/ Character Pattern Programs

A

B B

C C C

D D D D

E E E E E

F F F F F F

Let’s write the java code to understand this pattern better.

import java.util.Scanner;



public class Edureka

{

public static void main(String[] args)

{

int alphabet = 65;

for (int i = 0; i<= 5; i++)

{

for (int j = 0; j <= i; j++)

{

System.out.print((char) alphabet + " ");

}

alphabet++;

System.out.println();

}

}

}

3. K Shape Character Pattern Program

A B C D E F

A B C D E

A B C D

A B C

A B

A

A

A B

A B C

A B C D

A B C D E

A B C D E F

Let’s write the java code to understand this pattern better.

import java.util.Scanner;



public class Edureka

{public static void main(String[] args)

{

for (int i = 5; i >= 0; i--)

{

int alphabet = 65;

for (int j = 0; j <= i; j++)

{

System.out.print((char) (alphabet + j) + " ");

}

System.out.println();

}

for (int i = 0; i<= 5; i++)

{

int alphabet = 65;

for (int j = 0; j <= i; j++)

{

System.out.print((char) (alphabet + j) + " ");

}

System.out.println();

}

}

}

4. Triangle Character Pattern Program in Java

A

A B

A B C

A B C D

A B C D E

A B C D E F

Let’s write the java code to understand this pattern better.

public class Edureka

{

public static void main(String[] args)

{

for (int i = 0; i <= 5; i++)

{

int alphabet = 65;

for (int j = 5; j > i; j--)

{

System.out.print(" ");

}

for (int k = 0; k <= i; k++)

{

System.out.print((char) (alphabet + k) + " ");

}

System.out.println();

}

}

}

5. Diamond Pattern in Java

Enter a Character between A to Z : F

A

B B

C C

D D

E E

F F

E E

D D

C C

B B

A

Let’s write the java code to understand this pattern better.

import java.util.Scanner;



public class Edureka

{public static void main(String[] args) {

char[] letter = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',

'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',

'W', 'X', 'Y', 'Z' };

int letter_number = 0;

String[] diamond = new String[26]; // array of strings

System.out.print("Enter a Character between A to Z : ");



Scanner reader = new Scanner(System.in);

try {

char user_letter = reader.next("[A-Z]").charAt(0);

// search for letter number in the array letter

for (int i = 0; i < letter.length; i++) {

if (letter[i] == user_letter) {

letter_number = i;

break;

}

}



// construct diamond

for (int i = 0; i <= letter_number; i++) {

diamond[i] = "";

// add initial spaces

for (int j = 0; j < letter_number - i; j++) {

diamond[i] += " ";

}



// add letter

diamond[i] += letter[i];



// add space between letters

if (letter[i] != 'A') {

for (int j = 0; j < 2 * i - 1; j++)

{

diamond[i] += " "; } // add letter

diamond[i] += letter[i];

}

// Draw the first part of the diamond

System.out.println(diamond[i]);

}

for (int i = letter_number - 1; i >= 0; i--)

{

// Draw the second part of the diamond

// Writing the diamondArray in reverse order

System.out.println(diamond[i]);

}

} catch (Exception e) {

e.printStackTrace();

} finally {

reader.close();

}



}

}

So this brings us to the end of the top 30 pattern programs in java blog. I hope you found it informative and helped you in understanding Java Fundamentals. If you wish to check out more articles on the market’s most trending technologies like Artificial Intelligence, DevOps, Ethical Hacking, then you can refer to Edureka’s official site.

Do look out for other articles in this series which will explain the various other aspects of Java.