// CSE 143, Winter 2010, Marty Stepp // // This file contains two recursive methods that we wrote in class. public class Stars { public static void main(String[] args) { printStars(9); printStars(4); printStars(17); System.out.println("5! is " + factorial(5)); System.out.println("11! is " + factorial(11)); } // Returns n factorial, defined as the product from 1 to n. // Precondition: n >= 0 public static int factorial(int n) { if (n == 0) { // base case return 1; } else { // recursive case // 5! = 1 * 2 * 3 * 4 * 5 // 5! = 5 * 4! // = 4 * 3! return n * factorial(n - 1); } } // Prints a line of n stars (a blank line if n == 0). // Precondition: n >= 0 public static void printStars(int n) { if (n == 0) { // base case System.out.println(); } else { // recursive case System.out.print("*"); printStars(n - 1); } } }