Write a program that produces the following figure (which vaguely resembles this textbook) as its output. Use a class constant to make it possible to change the size of the figure (the following output uses a size of 10).
Program:
public class Ch02PP07
{
public static final int SIZE = 10;
public static void main(String[] args)
{
drawBoarder1();
drawLines();
drawBoarder2();
drawBJPs();
drawBoarder3();
}
public static void drawLines()
{
for(int i = 1; i <= SIZE; i++)
{
drawLine(i);
}
}
public static void drawBJPs()
{
for(int i = SIZE; i >= 2; i -= 2)
{
drawBJP(i);
}
}
public static void drawBoarder1()
{
for(int i = 1; i <= SIZE + 1; i++)
{
System.out.print(" ");
}
drawBoarder3();
System.out.println();
}
public static void drawBoarder2()
{
drawBoarder3();
for(int i = 1; i <= SIZE; i++)
{
System.out.print("/");
}
System.out.println();
}
public static void drawBoarder3()
{
System.out.print("+");
for(int i = 1; i <= 3 * SIZE; i++)
{
System.out.print("-");
}
System.out.print("+");
}
public static void drawLine(int n)
{
for(int i = 0; i <= SIZE - n; i++)
{
System.out.print(" ");
}
System.out.print("/");
for(int i = 1; i <= 3 * (SIZE - n); i++)
{
System.out.print(" ");
}
for(int i = 1; i <= n; i++)
{
if(i == 1)
System.out.print("___/");
else
System.out.print("__/");
}
for(int i = 1; i <= n - 1; i++)
{
System.out.print("/");
}
System.out.println();
}
public static void drawBJP(int n)
{
System.out.print("|");
for(int i = 1; i <= (3 * SIZE - 22) / 2; i++)
{
System.out.print(" ");
}
System.out.print("Building Java Programs");
for(int i = 1; i <= (3 * SIZE - 22) / 2; i++)
{
System.out.print(" ");
}
if(SIZE % 2 == 1)
{
System.out.print(" ");
}
System.out.print("|");
for(int i = 1; i <= n; i++)
{
System.out.print("/");
}
System.out.println();
}
}
Output: