CSE142 Sample Program handout #5 +------+ |\ /| | \ / | | \/ | | /\ | | / \ | |/ \| +------+ First Version of Program ------------------------ public class DrawFigure { public static void main(String[] args) { drawLine(); drawTop(); drawBottom(); drawLine(); } public static void drawLine() { System.out.print("+"); for (int column = 1; column <= #; column++) { System.out.print("-"); } System.out.println("+"); } public static void drawTop() { for (int line = 1; line <= #; line++) { System.out.print("|"); for (int column = 1; column <= #; column++) { System.out.print(" "); } System.out.print("\\"); for (int column = 1; column <= #; column++) { System.out.print(" "); } System.out.print("/"); for (int column = 1; column <= #; column++) { System.out.print(" "); } System.out.println("|"); } } public static void drawBottom() { for (int line = 1; line <= #; line++) { System.out.print("|"); for (int column = 1; column <= #; column++) { System.out.print(" "); } System.out.print("/"); for (int column = 1; column <= #; column++) { System.out.print(" "); } System.out.print("\\"); for (int column = 1; column <= #; column++) { System.out.print(" "); } System.out.println("|"); } } } Second Version of Program ------------------------ public class DrawFigure { public static void main(String[] args) { drawLine(); drawTop(); drawBottom(); drawLine(); } public static void drawLine() { System.out.print("+"); for (int column = 1; column <= 6; column++) { System.out.print("-"); } System.out.println("+"); } public static void drawTop() { for (int line = 1; line <= 3; line++) { System.out.print("|"); for (int column = 1; column <= line - 1; column++) { System.out.print(" "); } System.out.print("\\"); for (int column = 1; column <= 6 - 2 * line; column++) { System.out.print(" "); } System.out.print("/"); for (int column = 1; column <= line - 1; column++) { System.out.print(" "); } System.out.println("|"); } } public static void drawBottom() { for (int line = 1; line <= 3; line++) { System.out.print("|"); for (int column = 1; column <= 3 - line; column++) { System.out.print(" "); } System.out.print("/"); for (int column = 1; column <= 2 * line - 2; column++) { System.out.print(" "); } System.out.print("\\"); for (int column = 1; column <= 3 - line; column++) { System.out.print(" "); } System.out.println("|"); } } } +--------+ |\ /| | \ / | | \ / | | \/ | | /\ | | / \ | | / \ | |/ \| +--------+ Final Version With Class Constant --------------------------------- // Stuart Reges // 10/6/04 // // This program produces an hourlgass figure as output. public class DrawFigure { public static final int SUB_HEIGHT = 4; // height of each half public static void main(String[] args) { drawLine(); drawTop(); drawBottom(); drawLine(); } // Produces a solid line public static void drawLine() { System.out.print("+"); for (int column = 1; column <= (2 * SUB_HEIGHT); column++) { System.out.print("-"); } System.out.println("+"); } // This produces the top half of the hourglass figure public static void drawTop() { for (int line = 1; line <= SUB_HEIGHT; line++) { System.out.print("|"); for (int column = 1; column <= (line - 1); column++) { System.out.print(" "); } System.out.print("\\"); for (int column = 1; column <= 2 * (SUB_HEIGHT - line); column++) { System.out.print(" "); } System.out.print("/"); for (int column = 1; column <= (line - 1); column++) { System.out.print(" "); } System.out.println("|"); } } // This produces the bottom half of the hourglass figure public static void drawBottom() { for (int line = 1; line <= SUB_HEIGHT; line++) { System.out.print("|"); for (int column = 1; column <= (SUB_HEIGHT - line); column++) { System.out.print(" "); } System.out.print("/"); for (int column = 1; column <= 2 * (line - 1); column++) { System.out.print(" "); } System.out.print("\\"); for (int column = 1; column <= (SUB_HEIGHT - line); column++) { System.out.print(" "); } System.out.println("|"); } } }
Stuart Reges
Last modified: Fri Oct 7 13:37:34 PDT 2005