Upload your .java file(s) to Ecampus under the “Submit Homework” menu option.

1. Create a program named bunnies.java that recursively calculates the total number of rabbit ears. Rabbits are in a line numbered 1, 2, 3, 4, … The even numbered rabbits have 2 ears. The odd numbered rabbits have 3 ears. The exception to both of these rules is that every 5th rabbit has only 1 ear.Create a recursive method (no for or while loops) to calculate the total number of ears named BunnyEars(n). The recursive method should calculate the number of ears on the current rabbit, and call itself with the number of ears on the previous rabbit.BunnyEars(1) = 3 BunnyEars(2) = 5 BunnyEars(3) = 8 BunnyEars(4) = 10 BunnyEars(5) = 11 BunnyEars(6) = 13 BunnyEars(7) = 16 BunnyEars(8) = 18 BunnyEars(9) = 21 BunnyEars(10) = 22

1 2 3 4 5 6 7 8 9 10

| / /| |/| | / /| |/| / |/| | / /| |/| | / /| /

|| || || |||| || || || |||| || |||| || || || |||| || || || ||

||||/ ||/ ||||/ ||/ || ||/ ||||/ ||/ ||||/ ||

/ oo / oo / oo / oo / oo / oo / oo / oo / oo / oo

=_ Y_/= =_ Y_/= =_ Y_/= =_ Y_/= =_ Y_/= =_ Y_/= =_ Y_/= =_ Y_/= =_ Y_/= =_ Y_/=

Example output

How many bunnies are in the line? 5

This is a total of 11 ears.

2. Create a program named sum.java that recursively calculates the sum of all the digits in an integer.

Create a recursive method (no for or while loops) named SumDigits(n).

Hint: When you mod an integer by 10, you get the rightmost digit

(169 % 10 is 9). When you divide an integer by 10, you remove the

rightmost digit (169 / 10 = 16).

SumDigits(1) = 1

SumDigits(14) = 5

SumDigits(169) = 16

Example output

Please enter an integer: 169

The sum of these digits is 16.

3. Write a program named recurse.java that recursively reverses the characters in a String. Create a recursive function named RevString that returns the last character of a string the remainder of the string.

Example output

Please enter a string: video gamer

Your string in reverse: remag oediv

4. Write a program fibonacci.java that recursively calculates the nth Fibonacci number. Prompt the user which Fibonacci number to calculate. Also, calculate the number of method calls and computer time is used for the calculation.

Example output

Which Fibonacci number would you like to calculate? 42

This Fibonacci number = 267914296

Number of method calls made = 866988873

Seconds used for this calculation = 4.292174803

Extra Credit: Write a more efficient algorithm for calculating Fibonacci numbers. Compare the two.