Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

First, launch NetBeans and close any previous projects that may be open (at the

ID: 3594061 • Letter: F

Question

First, launch NetBeans and close any previous projects that may be open (at the top menu go to File ==> Close All Projects).

Then create a new Java application called "RecursiveTriangle" (without the quotation marks) according to the following guidelines.

Modify the example in Horstmann Section 5.9, pp. 228-230 so that the triangle displays “in reverse order” as in the example below, which allows the user to set the number of lines to print and the String used for printing the triangle.

Use a method to prompt the user for the number of lines (between 1 and 10) to print. This method should take no parameters and return an int value.

Use a method to prompt the user for the string to be used when printing the pattern. This method should take no parameters and return a String value.

Use a method called printTriangle that takes an int and a String as parameters (i.e., the return values from the two methods mentioned above) and has no return value. That method should use recursion to print the “reversed triangle” as in the following example.

EXAMPLE: The call to printTriangle(numLines, pattern) should print the following, assuming numLines has the value 4 and pattern has the value “[]”.

Explanation / Answer

RecursiveTriangle.java

import java.util.Scanner;

public class RecursiveTriangle {

public static void main(String[] args) {

int numLines = getNumber();

String pattern = getString();

printTriangle (numLines, pattern);

}

public static void printTriangle (int numLines, String pattern) {

if(numLines == 0) {

return;

} else {

printRowPattern(numLines, pattern);

System.out.println();

printTriangle(numLines-1, pattern);

}

}

public static void printRowPattern(int numLines, String pattern) {

if(numLines == 0) {

return;

} else {

System.out.print(pattern);

printRowPattern(numLines-1, pattern);

}

}

public static int getNumber() {

Scanner scan = new Scanner(System.in);

System.out.println("Enter the number of lines (between 1 and 10): ");

return scan.nextInt();

}

public static String getString() {

Scanner scan = new Scanner(System.in);

System.out.println("Enter the string: ");

return scan.next();

}

}

Output:

Enter the number of lines (between 1 and 10):
4
Enter the string:
[]
[][][][]
[][][]
[][]
[]