// Draws text figures. // Third version that captures structure and redundancy. public class DrawFigures3 { public static void main(String[] args) { drawDiamond(); drawX(); drawRocket(); } public static void drawDiamond() { System.out.println("Entering method drawDiamond"); drawCone(); drawV(); System.out.println(); System.out.println("Leaving method drawDiamond"); } public static void drawX() { System.out.println("Entering method drawX"); drawV(); drawCone(); System.out.println(); System.out.println("Leaving method drawX"); } public static void drawRocket() { System.out.println("Entering method drawRocket"); drawCone(); drawBox(); System.out.println("|United|"); System.out.println("|States|"); drawBox(); drawCone(); System.out.println(); System.out.println("Leavinging method drawRocket"); } public static void drawBox() { System.out.println("Entering method drawBox"); System.out.println("+------+"); System.out.println("| |"); System.out.println("| |"); System.out.println("+------+"); System.out.println("Leaving method drawBox"); } public static void drawCone() { System.out.println("Entering method drawCone"); System.out.println(" /\\"); System.out.println(" / \\"); System.out.println(" / \\"); System.out.println("Leaving method drawCone"); } public static void drawV() { System.out.println("Entering method drawV"); System.out.println(" \\ /"); System.out.println(" \\ /"); System.out.println(" \\/"); System.out.println("Leaving method drawV"); } }