Question: The following java program displays the drawing of a scalable tower whose size is determined by user input. import java.util.Scanner; public class Tower { public

The following java program displays the drawing of a scalable tower whose size is determined by user input. 

import java.util.Scanner;

public class Tower { public static void main(String[] args) { Scanner scnr = new Scanner(System.in); int size = scnr.nextInt();

drawTower(size); }

public static void drawLine(int size) { for (int i = 1; i <= size * 10 - 1; i++) { System.out.print("X"); } System.out.println(); }

public static void drawPillars(int size) { for (int i = 1; i <= size; i++) { System.out.print(" XXX"); for (int j = 1; j <= (size * 10 - 1) / 3 - 4; j++) { System.out.print(" \\"); } System.out.print(" XXX"); System.out.println(); } }

public static void drawLevel(int size) { for (int i = 1; i <= size; i++) {

System.out.print(" XXX"); for (int j = 1; j < size; j++) { System.out.print(" \\ \\ XXX"); } System.out.println(); } }

public static void drawBase(int size) { for (int i = 1; i <= size + 1; i++) { for (int j = 1; j <= size * 10 - 1; j++) { System.out.print("X"); } System.out.println(); } }

public static void drawTower(int size) { drawLine(size); drawPillars(size); for (int i = 1; i <= size; i++) { drawLine(size); drawLevel(size); } drawBase(size); } }

sample run: when userInput = 3

XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX \ \ \ \ \ XXX XXX \ \ \ \ \ XXX XXX \ \ \ \ \ XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX \ \ XXX \ \ XXX XXX \ \ XXX \ \ XXX XXX \ \ XXX \ \ XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX \ \ XXX \ \ XXX XXX \ \ XXX \ \ XXX XXX \ \ XXX \ \ XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX \ \ XXX \ \ XXX XXX \ \ XXX \ \ XXX XXX \ \ XXX \ \ XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX 

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Question: Add a method called "int doTheLean (int space)" to make the tower leaning. Every row leans one space more than the row above it. This method prints a bunch of blank spaces in a for loop, and anyone who needs to have spaces printed simply calls the method and it does the job. Initialize the variable space to 0 in the main, and before the doTheLean() method ends, increment space by 1 and return the updated value to its calling method. In this way the calling method knows the updated value of spaces for the next time it calls doTheLean.

Write the program without using a global variable.

sample run: when userInput = 3

XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX \ \ \ \ \ XXX XXX \ \ \ \ \ XXX XXX \ \ \ \ \ XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX \ \ XXX \ \ XXX XXX \ \ XXX \ \ XXX XXX \ \ XXX \ \ XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX \ \ XXX \ \ XXX XXX \ \ XXX \ \ XXX XXX \ \ XXX \ \ XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX \ \ XXX \ \ XXX XXX \ \ XXX \ \ XXX XXX \ \ XXX \ \ XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX 

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!