Java Interviews can be difficult for programmers, given the severity of the process. Those who have attended the process will know that a Java pattern program 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
How to Print Patterns in Java?
Printing patterns in Java is a common exercise for beginners. Patterns are designs made by arranging symbols or numbers in a specific way. This task helps you understand loops and control statements, which are fundamental concepts in programming.
Patterns can be simple, like a pyramid, or more complex, like a pyramid of numbers. Learning to print these patterns helps improve your problem solving skills.
In Java, loops and control statements are used to print patterns. Loops repeat a block of code multiple times, and control statements let you make decisions in your code.
Star Patterns in Java
First, let us begin with the basic and 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 program in Java. Let us move further and implement some Numeric patterns.
Numeric Pattern in Java
1. Simple number program
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
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
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
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 Program in Java
Enter the number of rows: 5
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
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
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
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
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
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
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
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
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
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
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(); } } }
This brings us to the end of the top 30 pattern programs in Java. I hope you found it informative and that it helped you understand Java Fundamentals.
Conclusion
Practicing Java pattern programs boosts a developer’s ability to think analytically. These exercises are great for preparing for interviews and solving difficult coding problems. They also help in understanding the core concepts of Java, improving coding efficiency, and enhancing problem-solving skills. Once you’ve practiced pattern programs, you can also check out popular Java interview questions to ensure you’re always ready for interviews.
FAQs
1. What are Java Pattern Programs?
Java Pattern Programs are pieces of code that create different patterns using loops, like stars, numbers, or letters.
2. Why are Java Pattern Programs important?
Java pattern programs help you understand loops and logic in programming, improving your coding skills.
3. What are some common Java Pattern Programs?
It includes patterns like triangles, pyramids, diamonds, and rectangles made of stars or numbers.
4. How do you approach solving Java Pattern Programs?
You should break the pattern into rows and columns, use nested loops to print each part, and build the pattern step by step.
5. How can I get started with Java Pattern Programs?
Start with a simple pattern program like a pyramid of stars, practice regularly, and gradually try more complex patterns.
Check out the Java Certification Course by Edureka, a trusted online learning company with a network of more than 250,000 satisfied learners spread across the globe. We are here to help you with every step of your journey.
Do you have a question for us? Please mention it in the comments section, and we will respond as soon as possible.