Write a program to print a rectangle with a diamond
shape gap exactly at the center of the Rectangle, using an input string with
odd numbers of characters, not Exceeding 20 characters.
For Example:-
Input : HAPPY-HAPPY
Output: Enter
a word of odd characters
HAPPY-HAPPY
HAPPY-HAPPY
HAPPY HAPPY
HAPP APPY
HAP PPY
HA PY
H Y
HA PY
HAP
PPY
HAPP APPY
HAPPY HAPPY
HAPPY-HAPPY
Solution:-
import java.util.*;
class diamond
{
String str;
void input()
{
Scanner sc=new Scanner(System.in);
System.out.println("Enter a word
of odd Characters");
str=sc.next();
}
void generate()
{
String space=" ";
if(str.length()%2!=0)
{
String a,b;
a=str.substring(0,str.length()/2);
b=str.substring(str.length()/2+1);
System.out.println("\n"+str);
int length=a.length();
int count=1;
for(int i=0;i<length;i++)
{
String
a1=a.substring(0,length-i);
String
b1=b.substring(i,length);
System.out.print(a1);
for(int
j=1;j<=count;j++)
{
System.out.print(space);
}
count=count+2;
System.out.println(b1);
}
count=count-2;
for(int
i=length-2;i>=0;i--)
{
String
a1=a.substring(0,length-i);
String
b1=b.substring(i,length);
System.out.print(a1);
count=count-2;
for(int
j=1;j<=count;j++)
{
System.out.print(space);
}
System.out.println(b1);
}
System.out.println(str);
}
else
{
System.out.println("Please
Enter a word of odd Characters" );
System.exit(0);
}
}
public static void main(String args[])
{
diamond obj=new diamond();
obj.input();
obj.generate();
}
}
No comments:
Post a Comment