# Unit 10 Write Code for Toggle Code¶

This is the write code problems associated with the mixed up code problems. Remember to use recursion!

Finish the `reverse`

method. This should take in a parameter `myText`

and return a reversed version of it. For example, `reverse("Cat")`

would return `"taC"`

. Fill in the missing code (labeled with YOUR CODE HERE comments) to complete the problem.

Fill in the `multiply`

method. It should take in two non-negative integers and return their product, using the fact that multiplication is repeated addition (e.g., 3x4 = 3 + 3 + 3 + 3). Thus, `multiply(3, 4)`

would return `12`

. Do NOT use multiplication; only use addition.

Write the `sumElements`

method. It should add up all of the elements in the passed-in array from `index`

onward - so calling `sumElements(nums, 1)`

with `nums`

as {1,2,3,12} would return `17`

(as that is 2 + 3 + 12). Be sure to use recursion when creating the method.

Finish the `removeStar`

method. It should remove any occurrence of an asterisk (“*”) from a passed-in string. For example, calling `removeStar`

on `"ab*c**d"`

would return `"abcd"`

.

Write the `exponent`

program. This should take in two `int`

parameters - `base`

and `power`

- and return `base`

^ `power`

(`base`

multiplied by itself `power`

times). For example, `exponent(3, 5)`

would return `243`

because that is 3x3x3x3x3.

Write the `numFiveOccurrence`

method. It should return the number of times that `5`

is present in the passed `int`

array `arr`

. Just as in problem three (`sumElements`

), there will also be an `index`

parameter to make recursion possible. The initial call to `numFiveOccurrence`

will be with index 0, and, from then on, `numFiveOccurrence(arr, index)`

should return the number of 5s in `arr`

from index onward.

Write the `repeatThis`

method. It should take in two parameters - a String `s`

and an int `i`

- and return a new String composed of `s`

`i`

times. For example, `repeatThis("Cat", 2)`

would return `"CatCat"`

.

Write the `findNumX`

method. This should take in a String `s`

and return the number of occurrences of the character `'x'`

(NOT including `'X'`

). For example, `findNumX("axbcx")`

would return `2`

.

Write the `countTo`

method. This should take in an integer `x`

and return a String with the positive numbers from 1 to `x`

(inclusive) with “…” after each. For example, `countTo(5)`

would return “1…2…3…4…5…”.

Write the `displayEvenDigits`

method. It should take in an integer `num`

and return a String version of `num`

with the odd digits replaced by `'_'`

. For example, `displayEvenDigits(42356)`

should return `"42__6".`

To achieve this recursively, you should use modulo and division to get the least-significant digit and then pass a version of `num`

without that digit (hint: use integer division).

Write the `fibonacci`

method. This program should take in an integer `n`

and return the `n``th fibonacci number. The 0th fibonacci number is ``0`

and the 1st is `1`

. From then on, the `n``th fibonacci number is the ``n-1``th fibonacci number + the ``n-2``th fibonacci number. For example, the first few fibonacci numbers are 0, 1, 1, 2, 3, 5, 8. ``fibonacci(4)`

should return `3`

, as that is the 4th fibonacci number (remember that 0 is the 0th!). `fibonacci(6)`

should return `8`

, as that is the 6th fibonacci number.

Create the `spaceDash`

method. It should take in a String `str`

and return a new String that has all of the spaces in `str`

replaced by dashes.

Write the `numberOf2s`

method. It should take in an integer `n`

and count the number of 2s in the digits. Try to do this without converting `n`

to a String. Here’s a hint: modulo and integer division will both be very useful.

Write the `sum`

method. It should take in an integer `n`

and recursively find and return the sum of the digits of `n`

. For example, `sum(362)`

would return `11`

, as that is 3+6+2.

Write the `evenDigits`

method. This should take in an integer `n`

and recursively return the number of even digits in `n`

.

Write the `factorial`

method. This should take in an integer `n`

and return the factorial of `n`

. The factorial of N is equal to N x (N - 1) x (N - 2)… x 2 x 1. Note that N times the factorial of (N - 1) would be N factorial.