Patterns in Java
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
5. Java String
6. Java Array
8. Java Threads
9. Introduction to Java Servlets
11. Exception Handling in Java
14. Java Programs
15. Kotlin vs Java
16. Dependency Injection Using Spring Boot
20. Java Tutorial
22. Socket Programming In Java
25. Library Management System Project in Java
26. Trees in Java
28. Top Data Structures & Algorithms in Java
30. Top 55 Servlet Interview Questions
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
Originally published at https://www.edureka.co on June 22, 2019.