Lesson 25 of 26By Ravikiran A S
Last updated on Nov 13, 20202201Java Pattern Programs have always been one of the critical parts of the Java Interview questions. They look almost impossible to crack at a point, but these questions are practically based on mathematical logic and matrices' fundamentals. Hence Java Pattern Programs are greatly sought-after.
This Java Pattern Programs article covers almost every possible type of pattern programs that will give you a better understanding of the logic to decode the pattern and become capable of building one in your interview.
We will deal with 25 different types of Java Pattern Programs through the following docket.
/*Star Pattern 1
*
* *
* * *
* * * *
* * * * * */
package Patterns;
public class Star {
public static void main(String[] args) {
int rows = 5;
for (int i = 1; i <= rows; ++i) { //Outer loop for rows
for (int j = 1; j <= i; ++j) { //Inner loop for Col
System.out.print("* "); //Print *
}
System.out.println(); //New line
}
}
}
/*Star Pattern 2
* * * * *
* * * *
* * *
* *
* */
package Patterns;
public class Star {
public static void main(String[] args) {
int rows = 5;
for(int i = rows; i >= 1; --i) { //For Loop for Row
for(int j = 1; j <= i; ++j) { //For Loop for Col
System.out.print("* "); //Prints *
}
System.out.println(); //Get to newline
}
}
}
/*Star Pattern 3
*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
* */
package Patterns;
import java.util.Scanner;
public class Star {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //Input
System.out.println("Enter the number of rows: ");
int rows = sc.nextInt();
for (int i = 0; i <= rows - 1; i++) { //For Loop for Row
for (int j = 0; j <= i; j++) { //For Loop for Col
System.out.print("*" + " "); //prints * and blank space
}
System.out.println(""); // new line
}
for (int i = rows - 1; i >= 0; i--) { //For Loop for Row
for (int j = 0; j <= i - 1; j++) { //For Loop for Col
System.out.print("*" + " "); //prints * and blank space
}
System.out.println("");// new line
}
sc.close();
}
}
/*Star Pattern 4
*
* *
* * *
* * * *
* * * * * */
package Patterns;
public class Star {
public static void printStars(int n) {
int i, j;
for (i = 0; i < n; i++) {
for (j = 2 * (n - i); j >= 0; j--) { //For Loop for Row
System.out.print(" "); // Print Spaces
}
for (j = 0; j <= i; j++) { //For Loop for col
System.out.print("* "); // Print Star
}
System.out.println();
}
}
public static void main(String args[]) {
int n = 5; //Number of Rows
printStars(n);
}
}
/*Star Pattern 5
* * * * *
* * * *
* * *
* *
* */
package Patterns;
import java.util.Scanner;
public class Star {
public static void main(String[] args) {
Scanner S = new Scanner(System.in); //Input
System.out.println("Enter row value ");
int r = S.nextInt();
for (int i = r; i >= 1; i--) {
for (int j = r; j > i; j--) {
System.out.print(" "); // Prints Blank space
}
for (int k = 1; k <= i; k++) {
System.out.print("*"); //Prints *
}
System.out.println(" "); //Prints blank spaces
}
S.close();
}
}
/*Star Pattern 6
*
**
***
****
*****
****
***
**
* */
package Patterns;
import java.util.Scanner;
public class Star {
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++) { //Rows Loop
System.out.print(" "); // Blank Space
}
for (int k = 1; k <= i; k++) { //Cols Loop
System.out.print("*"); // Prints *
}
System.out.println("");
}
for (int i = rows; i >= 1; i--) {
for (int j = i; j <= rows; j++) { //Rows Loop
System.out.print(" "); // Prints blank spaces
}
for (int k = 1; k < i; k++) { //Col Loop
System.out.print("*"); // Prints *
}
System.out.println(""); // New Line1
}
sc.close();
}
}
/*Star Pattern 7
*
* *
* * *
* * * *
* * * * * */
package Patterns;
public class Star {
public static void printTriagle(int n) {
for (int i = 0; i < n; i++) {
for (int j = n - i; j > 1; j--) { //Loop for blank space
System.out.print(" "); //Print Space
}
for (int j = 0; j <= i; j++) { loop for star
System.out.print("* "); //Print Star
}
System.out.println(); //Newline
}
}
public static void main(String args[]) {
int n = 5;
printTriagle(n);
}
}
/*Star Pattern 8
* * * * *
* * * *
* * *
* *
* */
package Patterns;
import java.util.Scanner;
public class Star {
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 loop for Rows
for (int j = 0; j <= i; j++) { //For loop for Col
System.out.print(" "); // blank space
}
for (int k = 0; k <= rows - 1 - i; k++) {
System.out.print("*" + " "); // prints * and blank space
}
System.out.println(); //Next line
}
sc.close();
}
}
/*Star Pattern 9
*
***
*****
*******
*********
*******
*****
***
* */
package Patterns;
import java.util.Scanner;
public class Star {
public static void main(String args[]) {
int n, x, j, blank = 1;
System.out.print("Enter the value for rows: ");
Scanner s = new Scanner(System.in);
n = s.nextInt(); //input
blank = n - 1; // logic for balck spaces
//Upper star Pyramid
for (j = 1; j <= n; j++) {
for (x = 1; x <= blank; x++) {
System.out.print(" "); //print blank space
}
blank--;
for (x = 1; x <= 2 * j - 1; x++) {
System.out.print("*"); //Print Star
}
System.out.println("");
}
//Lower star Pyramid
blank = 1;
for (j = 1; j <= n - 1; j++) {
for (x = 1; x <= blank; x++) {
System.out.print(" "); //Print Spaces
}
blank++;
for (x = 1; x <= 2 * (n - j) - 1; x++) {
System.out.print("*"); //Print Star
}
System.out.println(""); //Print new line
}
}
}
/*Star Pattern 10
* * * * *
* * * *
* * *
* *
*
*
* *
* * *
* * * *
* * * * * */
package Patterns;
import java.util.Scanner;
public class Star {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the number of rows: ");
int rows = sc.nextInt(); //Input
//Upper Inverted Pyramid
for (int i = 0; i <= rows - 1; i++) {
for (int j = 0; j < i; j++) {
System.out.print(" "); Print blank space
}
for (int k = i; k <= rows - 1; k++) {
System.out.print("*" + " "); //Print star and blank space
}
System.out.println(""); //New line
}
//For lower Pyramid
for (int i = rows - 1; i >= 0; i--) {
for (int j = 0; j < i; j++) {
System.out.print(" "); //Print spaces
}
for (int k = i; k <= rows - 1; k++) {
System.out.print("*" + " "); //Print Star and Space
}
System.out.println(""); //Print New line
}
sc.close();
}
}
/*Diagonal 11
*
*
*
*
* */
package Patterns;
public class Star {
public static void main(String[] args) {
int i, j;
for (i = 1; i <= 5; i++) {
for (j = 0; j < 5 - i; j++) {
System.out.print(" "); //Print blank space
}
System.out.print("*\n"); //Print Star and newline
}
}
}
/*X Pattern 12
* *
* *
* *
*
* *
* *
* * */
package Patterns;
import java.util.*;
public class Star {
public static void main(String args[]) {
int i, j, n;
Scanner sc = new Scanner(System.in);
System.out.println("Enter a value for n");
n = sc.nextInt(); //Input
//Upper V pattern
for (i = n; i >= 1; i--) {
for (j = i; j < n; j++) {
System.out.print(" ");//print spaces
}
for (j = 1; j <= (2 * i - 1); j++) {
if (j == 1 || j == (2 * i - 1))//Logic for printing star
System.out.print("*");
else
System.out.print(" ");//if logic fails print space
}
System.out.println("");
}
//Lower Inverted V pattern
for (i = 2; i <= n; i++) {
for (j = i; j < n; j++) {
System.out.print(" ");//Print spaces
}
for (j = 1; j <= (2 * i - 1); j++) {
if (j == 1 || j == (2 * i - 1))//Logic for printing star
System.out.print("*");
else
System.out.print(" ");//if logic fails print space
}
System.out.println("");
}
}
}
/*Inverted V 13
*
* *
* *
* *
* * */
package Patterns;
import java.util.Scanner;
public class Star {
public static void main(String[] args) {
Scanner cs = new Scanner(System.in); //Input
System.out.println("Enter the row size:");
int out, in;
int row_size = cs.nextInt();
int print_control_x = row_size;
int print_control_y = row_size;
for (out = 1; out <= row_size; out++) {
for (in = 1; in <= row_size * 2; in++) {
if (in == print_control_x || in == print_control_y) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
print_control_x--;
print_control_y++;
System.out.println();
}
cs.close();
}
}
/* V-pattern
* *
* *
* *
* *
* */
package Patterns;
public class Star {
static void pattern(int n) {
int i, j;
for (i = n - 1; i >= 0; i--) {
for (j = n - 1; j > i; j--) {
System.out.print(" "); //Print Space
}
System.out.print("*"); //Print star
for (j = 1; j < (i * 2); j++)
System.out.print(" ");//Print space
if (i >= 1)
System.out.print("*");
System.out.print("\n");//Enter newline
}
}
public static void main(String args[]) {
int n = 5;
pattern(n); //Pattern method call
}
}
/*Rombus 15
*
* *
* *
* *
* *
* *
* *
* *
* */
package Patterns;
import java.util.Scanner;
public class Star {
public static void main(String[] args) {
System.out.println("Number of rows: ");
int rows = extracted().nextInt();
int i;
//upper inverted V pattern
for (i = 1; i <= rows; i++) {
for (int j = rows; j > i; j--) {
System.out.print(" "); //Print spaces
}
System.out.print("*"); //Print Spaces
for (int k = 1; k < 2 * (i - 1); k++) { /Logic for pattern
System.out.print(" "); //Print Spaces
}
if (i == 1) {
System.out.println(""); //Condition true, go to newline
} else {
System.out.println("*"); //else print star
}
}
//Lower v pattern
for (i = rows - 1; i >= 1; i--) {
for (int j = rows; j > i; j--) {
System.out.print(" "); //Print Spaces
}
System.out.print("*");
for (int k = 1; k < 2 * (i - 1); k++) { Logic for pattern
System.out.print(" ");
}
if (i == 1)
System.out.println(""); //newline
else
System.out.println("*"); //Print star
}
}
private static Scanner extracted() {
return new Scanner(System.in);
}
}
/*Star Pattern 16
*
* *
* *
* *
********* */
package Patterns;
import java.util.Scanner;
public class Star {
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)) {
//Logic for printing Pattern
System.out.print("*"); //Print Star
} else {
System.out.print(" "); //Print Spaces
}
}
System.out.println("");
}
sc.close();
}
}
/*Star Pattern 17
*********
* *
* *
* *
* */
package Patterns;
import java.util.Scanner;
public class Star {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the number of rows: ");
int rows = sc.nextInt(); //Row input
for (int i = rows; i >= 1; i--) {
for (int j = i; j < rows; j++) {
System.out.print(" "); //Print Spaces
}
for (int k = 1; k <= (2 * i - 1); k++) {
if (k == 1 || i == rows || k == (2 * i - 1)) { //logic to print Pattern
System.out.print("*"); //Ture prints star
} else {
System.out.print(" "); //False prints spaces
}
}
System.out.println("");
}
sc.close();
}
}
/*Box 18
**********
* *
* *
* *
* *
* *
* *
* *
* *
********** */
package Patterns;
public class Star {
static void print_rectangle(int n, int m) {
int i, j;
for (i = 1; i <= n; i++) {
for (j = 1; j <= m; j++) {
if (i == 1 || i == n || j == 1 || j == m) //Logic to print
System.out.print("*"); //Tue?, print star
else
System.out.print(" "); //Tue?, print space
}
System.out.println();
}
}
public static void main(String args[]) {
int rows = 10, columns = 10;
print_rectangle(rows, columns); //Method call
}
}
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5 */
package Patterns;
import java.util.Scanner;
public class Star {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //Input
System.out.println("Number of rows: ");
int rows = sc.nextInt();
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + " "); //Print j value and space
}
System.out.println();
}
sc.close();
}
}
/*Number Pattern 20 (Floyd's Triangle)
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15 */
package Patterns;
public class Star {
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++ + " "); /Floyd’s triangle logic(prints K value and increments on every iteration)
}
System.out.println();
}
}
}
/*Number Pattern 21 (Pascal's Triangle)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1 */
package Patterns;
public class Star {
public static void main(String[] args) {
int x = 6;
for (int i = 0; i < x; i++) {
int num = 1;
System.out.printf("%" + (x - i) * 2 + "s", ""); //Pascals triangle logic
for (int j = 0; j <= i; j++) {
System.out.printf("%4d", num);
num = num * (i - j) / (j + 1);
}
System.out.println();
}
}
}
/*Number Pattern 22
10101
01010
10101
01010
10101 */
package Patterns;
import java.util.Scanner;
public class Star {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Number of rows: ");
int rows = sc.nextInt(); //Input
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();
}
}
/*Ruby Pattern 23
A
B B
C C
D D
C C
B B
A */
package Patterns;
import java.util.Scanner;
public class Ruby {
public static void main(String[] args) {
char[] alpha = { '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 digit = 0;
String[] ruby = new String[26];
System.out.print("Input Uppercase alphabet between A to Z:");
Scanner reader = new Scanner(System.in);
try {
char aplhabet = reader.next("[A-Z]").charAt(0);
for (int i = 0; i < alpha.length; i++) {
if (alpha[i] == aplhabet) {
digit = i;
break;
}
}
for (int i = 0; i <= digit; i++) {
ruby[i] = "";
for (int p = 0; p < digit - i; p++) {
ruby[i] += " ";
}
ruby[i] += alpha[i];
if (alpha[i] != 'A') {
for (int p = 0; p < 2 * i - 1; p++) {
ruby[i] += " ";
}
ruby[i] += alpha[i];
}
System.out.println(ruby[i]);
}
for (int i = digit - 1; i >= 0; i--) {
System.out.println(ruby[i]);
}
} catch (Exception e) { //Exception
e.printStackTrace();
} finally {
reader.close();
}
}
}
/*Alphabet Pattern 24
A
A B
A B C
A B C D
A B C D E
A B C D E F */
package Patterns;
public class Alphabet {
public static void main(String[] args) {
int alphabet = 65; //ASCII value of “A”
for (int i = 0; i <= 5; i++) {
for (int j = 0; j <= i; j++) {
System.out.print((char) (alphabet + j) + " "); //Logic to print Alphabet pattern
}
System.out.println();
}
}
}
/*Alphabet Pattern 25
A
A B
A B C
A B C D
A B C D E */
package Patterns;
public class Alphabet {
public static void main(String[] args) {
for (int i = 0; i <= 4; i++) {
int alphabet = 65; //ASCII value of “A”
for (int j = 4; j > i; j--) {
System.out.print(" "); //Print Space
}
for (int k = 0; k <= i; k++) {
System.out.print((char) (alphabet + k) + " "); //Print Alphabet
}
System.out.println();
}
}
}
Get a firm foundation in Java, the most commonly used programming language in software development with the Java Certification Training Course.
Java Pattern Programs are useful in enhancing the analytical capabilities of a Java Developer. Practicing them will not only help you to crack the interviews but also to decode the critical, logical issues in your code.
Followed by Java Pattern Programs, you can also go through some most frequently asked Java Interview Questions tutorial so that you can be interview ready.
If you're looking for more in-depth knowledge about the Java programming language and how to get certified as a professional developer, explore our Java training and certification programs. Simplilearn's qualified industry experts offer the same in real-time experience. In particular, check out our Full Stack Java Developer Master's Program today!
If you have any queries regarding this "Java Pattern Programs" article, please leave them in the comments section, and our expert's team will solve them for you at the earliest!
Ravikiran A S works with Simplilearn as a Research Analyst. He an enthusiastic geek always in the hunt to learn the latest technologies. He is proficient with Java Programming Language, Big Data, and powerful Big Data Frameworks like Apache Hadoop and Apache Spark.
Full Stack Java Developer
Full Stack Web Developer - MEAN Stack
Java Certification Training
*Lifetime access to high-quality, self-paced e-learning content.
Explore CategoryJava Programming: The Complete Reference You Need
Blockchain Career Guide: A Comprehensive Playbook To Becoming A Blockchain Developer
Introducing Simplilearn’s Full Stack Java Developer Master’s Program
Java EE Tutorial: All You Need To Know About Java EE
What is Inheritance in Java and How to Implement It
Free eBook: Salesforce Developer Salary Report