/* Java program from Chapter 1 of Reges & Stepp. ** The program, like its predecessor (DrawFigures1), draws a diamond, ** an 'X', and a rocket ship. However, here the block of code that ** draws each figure is in its own method, reflecting the use of ** procedural decomposition. But some redundancy persists, as the ** three kinds of figures have some common parts. */ public class DrawFigures2 { public static void main(String[] args) { drawDiamond(); drawX(); drawRocket(); } public static void drawDiamond() { System.out.println(" /\\"); System.out.println(" / \\"); System.out.println(" / \\"); System.out.println(" \\ /"); System.out.println(" \\ /"); System.out.println(" \\/"); System.out.println(); } public static void drawX() { System.out.println(" \\ /"); System.out.println(" \\ /"); System.out.println(" \\/"); System.out.println(" /\\"); System.out.println(" / \\"); System.out.println(" / \\"); System.out.println(); } public static void drawRocket() { System.out.println(" /\\"); System.out.println(" / \\"); System.out.println(" / \\"); System.out.println("+------+"); System.out.println("| |"); System.out.println("| |"); System.out.println("+------+"); System.out.println("|United|"); System.out.println("|States|"); System.out.println("+------+"); System.out.println("| |"); System.out.println("| |"); System.out.println("+------+"); System.out.println(" /\\"); System.out.println(" / \\"); System.out.println(" / \\"); } }