/** Lab 06. Writing recursive methods */
public class Rec {
    
    /** = " number of chars in s that are not c */
    public static int number(char c, String s) {
        return 0;
    }
    

    /** = " s but with the FIRST occurrence of 
        character c removed (if present) */
    public static String removeFirst(String s, char c) {
        return "";
    }

    /** = " s but with all occurrences of character c removed */
    public static String removeC(String s, char c) {
        return "";
    }
    
    /** = String s with adjacent duplicates removed: e.g.
          for s = "abbcccdeaaa", the answer is  "abcdea"*/
    public static String rem1(String s) {
        return "";
    }
    /** = the reverse of s. e.g. rev("abc") is "cba".
          Do this one using this idea. To reverse a string
          that contains at least 2 characters, switch the
          first and last ones and reverse the middle.
     */
    public static String rev(String s) {
        return "";   
    }
    
    /** = Fibonnaci number F(n).
          Precondition: n ³0.
          Definition: F(0) = 0, F(1) = 1, and
          for n > 1,  F(n) = F(n-1) + F(n-2).
          E.g. the first 10 Fibonnaci numbers are
             0, 1, 1, 2, 3, 5, 8, 13, 21, 34 */
    public static int Fib(int n) {
        return 0;
    }

    /** Compute b ** c, i.e. b multiplied by itself c times.
        Also called b "to the power" c.
        Precondition: c ³ 0
        Hints: b ** 0 = 1.
               if c is even, b**c == (b*b) ** (c/2)
               if c > 0, b**c =  b * (b ** (c-1)) */
    public static int exp(int b, int c) {
        return 0;
    }
    
}