1/*2 * NumOccurTrace.java3 *4 * Computer Science S-225 *6 * A class that contains a recursive method for determining the7 * number of times that a character appears in a string.8 *9 * This version adds debugging println statements to numOccur that10 * allow you to trace the series of recursive calls.11 */12 13public class NumOccurTrace {14 public static int numOccur(char ch, String str) {15 System.out.println("entering numOccur(" + ch + ", " + str + ")");16 17 // base case18 if (str == null || str.equals("")) {19 System.out.println("base case: numOccur(" + ch + ", " + str + ") returns 0"); 20 return 0;21 }22 23 // recursive case24 int numOccurInRest = numOccur(ch, str.substring(1));25 26 if (str.charAt(0) == ch) {27 System.out.println("numOccur(" + ch + ", " + str + ") returns " + (1 + numOccurInRest));28 return 1 + numOccurInRest;29 } else {30 System.out.println("numOccur(" + ch + ", " + str + ") returns " + numOccurInRest);31 return numOccurInRest;32 }33 }34}