Java Program to Print Alphabet Inverted Heart Pattern
Last Updated :
12 Apr, 2021
Alphabet Inverted Heart Pattern consists of two parts. The upper part of the pattern is a triangle. The base of the pattern has two peaks and a gap between them. Hence, the desired pattern looks like as shown in the illustration.
Illustration:
A
BBB
CCCCC
DDDDDDD
EEEEEEEEE
FFFFFFFFFFF
GGGGGGGGGGGGG
HHHHHHHHHHHHHHH
IIIIIIIIIIIIIIIII
JJJJJJJJJJJJJJJJJJJ
KKKKKKKKKKKKKKKKKKKKK
LLLLLLLLLLLLLLLLLLLLLLL
MMMMMMMMMMMMMMMMMMMMMMMMM
NNNNNNNNNNNNNNNNNNNNNNNNNNN
OOOOOOOOOOOOOOOOOOOOOOOOOOOOO
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
VVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVV
WWWWWWWWWWWWWWW WWWWWWWWWWWWWWW
XXXXXXXXXXXXX XXXXXXXXXXXXX
YYYYYYYYYYY YYYYYYYYYYY
ZZZZZZZZZ ZZZZZZZZZ
Approach:
The approach to print the same is very simple first we will be focussing on the upper half removing the lower half. So we simply have to print the upper pyramid pattern where we need to maintain and update the additional count for incrementing alphabet letters. Starting with the initial letter being of character type is implicitly converted to an integer type and increment is carried over with the corresponding ASCII value to the character. Similarly, for the lower half, after the base taking primary concern of printing white spaces
Example
Java
class GFG {
public static void main(String[] args)
{
int size = 39 ;
int tri_size = 20 ;
int base_size = 6 ;
char a = 'A' ;
int n = 1 ;
for ( int i = 0 ; i < tri_size; i++) {
int spaces = (size - n) / 2 ;
for ( int j = 0 ; j < spaces; j++) {
System.out.print( " " );
}
for ( int j = 0 ; j < n; j++) {
System.out.print(a);
}
for ( int j = 0 ; j < spaces; j++) {
System.out.print( " " );
}
System.out.println();
n = n + 2 ;
a++;
}
int spaces_end = 0 ;
int spaces_between = 0 ;
for ( int i = 0 ; i < base_size; i++) {
n = (size - ( 2 * (spaces_end)) - spaces_between)
/ 2 ;
for ( int j = 0 ; j < spaces_end; j++) {
System.out.print( " " );
}
for ( int j = 0 ; j < n; j++) {
System.out.print(a);
}
for ( int j = 0 ; j < spaces_between; j++) {
System.out.print( " " );
}
for ( int j = 0 ; j < n; j++) {
System.out.print(a);
}
for ( int j = 0 ; j < spaces_end; j++) {
System.out.print( " " );
}
System.out.println();
a++;
spaces_end++;
spaces_between = spaces_between + 2 ;
}
}
}
|
Output
A
BBB
CCCCC
DDDDDDD
EEEEEEEEE
FFFFFFFFFFF
GGGGGGGGGGGGG
HHHHHHHHHHHHHHH
IIIIIIIIIIIIIIIII
JJJJJJJJJJJJJJJJJJJ
KKKKKKKKKKKKKKKKKKKKK
LLLLLLLLLLLLLLLLLLLLLLL
MMMMMMMMMMMMMMMMMMMMMMMMM
NNNNNNNNNNNNNNNNNNNNNNNNNNN
OOOOOOOOOOOOOOOOOOOOOOOOOOOOO
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
VVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVV
WWWWWWWWWWWWWWW WWWWWWWWWWWWWWW
XXXXXXXXXXXXX XXXXXXXXXXXXX
YYYYYYYYYYY YYYYYYYYYYY
ZZZZZZZZZ ZZZZZZZZZ
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...