Assignment 6-1 It is interesting to watch recursion “in action.” Modify the factorial method in Fig. 18.3 to print its local variable and recursive-call parameter.
For each recursive call, display the outputs on a separate line and add a level of indentation. Do your utmost to make the outputs clear, interesting, and meaningful. Your goal here is to design and implement an output format that makes it easier to understand recursion.
Assignment 6-2 Write a recursive method printArray() that displays all the elements in an array of integers, separated by spaces. The array must be 100 elements in size and filled using a for loop and a random number generator. The pseudo-code for this is as follows:
//Instantiate an integer array of size 100 //fill the array For (int i=0; i<array.length; i++) Array[i] = random number between 1 and 100 inclusive printArray(integer array); For both assignments make sure that your screen shots show your program running and that your runtime display shows that your program does all that is required of it. You only get credit for what you demonstrate.
Submit this assignment by 11:59 p.m. (ET) on Monday of Module/Week 6.
public class FactorialCalculator { // recursive method factorial (assumes its parameter is = 0 public static long factorial(long number) { if (number <= 1) // test for base case return 1; // base cases: 0! = 1 and 1! = 1 else // recursion step return number * factorial(number - 1); }
// output factorials for values 0-21 public static void main(String[] args) { // calculate the factorials of 0 through 21 for (int counter = 0; counter <= 21; counter++) System.out.printf("%d! = %d%n", counter, factorial(counter)); } } // end class FactorialCalculator