Heart Pattern in Java
Heart Pattern is yet another intricate pattern program, however, due to its complexity, interviewers hardly ever inquire about it.
Method for Printing the Heart Number Pattern
- Put the value of the total row into the integer variable row.
- Put the column values into an inner loop to print them.
- Start by printing the left semi-circle using a nested for loop.
- Use a nested for loop to start printing the right semi-circle.
- To print an inverted pyramid beneath the semi-circles, use another nested loop.
Program 1: Print heart pattern in java
import java.io.*;
import java.util.*;
public class HeartPattern
{
public static void main(String[]args)
{
for(int i=1; i<=2; i++)
{
for(int k=1; k<=2-i; k++)
{
System.out.print(" ");
}
for(int j=1; j<=2*i; j++)
{
System.out.print("*");
}
for(int k=1; k<=2*(2-i+1)-1; k++)
{
System.out.print(" ");
}
for(int j=1; j<=2*i; j++)
{
System.out.print("*");
}
System.out.println();
}
for(int i=1; i<=5; i++)
{
for(int k=1; k<=i-1; k++)
{
System.out.print(" ");
}
for(int j=1; j<=2*(5-i+1)-1; j++)
{
System.out.print("*");
}
System.out.println();
}
}
}
The output of the above program

Program 2: To print heart pattern in java
import java.io.*;
import java.util.*;
public class HeartPattern
{
public static void main(String[] args)
{
int r,c, row;
Scanner sc= new Scanner(System.in);
System.out.print("Enter no of rows = ");
row=sc.nextInt();
for(r = row/2; r <= row; r+=2)
{
for(c = 1; c < row-r; c+=2)
{
System.out.print(" ");
}
for(c = 1; c <= r; c++)
{
System.out.print(r);
}
for(c = 1; c <= row-r; c++)
{
System.out.print(" ");
}
for(c = 1; c <= r; c++)
{
System.out.print(r);
}
System.out.println("");
}
for(r = row; r >= 1; r--)
{
for(c = r; c < row; c++)
{
System.out.print(" ");
}
for(c = 1; c <= (r*2)-1; c++)
{
System.out.print(r);
}
System.out.println("");
}
}
}
The output of the above program
