Patterns in Java

Swatee Chand
Edureka
Published in
16 min readJul 19, 2019

--

Patterns in Java — Edureka

Java Interviews can give a hard time to programmers, such as 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.

1. Object Oriented Programming

2. Inheritance in Java

3. Polymorphism in Java

4. Abstraction in Java

5. Java String

6. Java Array

7. Java Collections

8. Java Threads

9. Introduction to Java Servlets

10. Servlet and JSP Tutorial

11. Exception Handling in Java

12. Advanced Java Tutorial

13. Java Interview Questions

14. Java Programs

15. Kotlin vs Java

16. Dependency Injection Using Spring Boot

17. Comparable in Java

18. Top 10 Java frameworks

19. Java Reflection API

20. Java Tutorial

21. Core Java Cheat Sheet

22. Socket Programming In Java

23. Java OOP Cheat Sheet

24. Annotations in Java

25. Library Management System Project in Java

26. Trees in Java

27. Machine Learning in Java

28. Top Data Structures & Algorithms in Java

29. Java Developer Skills

30. Top 55 Servlet Interview Questions

31. Top Java Projects

32. Java Strings Cheat Sheet

33. Nested Class in Java

34. Java Collections Interview Questions and Answers

35. How to Handle Deadlock in Java?

36. Top 50 Java Collections Interview Questions You Need to Know

37. What is the concept of String Pool in Java?

38. What is the difference between C, C++, and Java?

39. Palindrome in Java- How to check a number or string?

40. Top MVC Interview Questions and Answers You Need to Know

41. Top 10 Applications of Java Programming Language

42. Deadlock in Java

43. Square and Square Root in Java

44. Typecasting in Java

45. Operators in Java and its Types

46. Destructor in Java

47. Binary Search in Java

48. MVC Architecture in Java

49. Hibernate Interview Questions And Answers

Originally published at https://www.edureka.co on June 22, 2019.

--

--