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("|");
}
}
}