Reference no: EM13380068
Question 1
Write a recursive methodnmbDigitswhich takes an integer value as parameter and returns the number of digits of the parameter value (for examplenmbDigits(2054) is 4). Write a driver programTestDigits.javato test the method. Ask the user to enter an integer value then invoke the method passing the entered value as method parameter. If an illegal value is entered a message should be shown and the user will be required to enter a correct value.
Hint:Divide the number by 10 and count for how many times you can do that.
Question 2
Consider a method which calculates and returns the arithmetic mean of an array of integer values.
a)Design and implementmeanIter, the iterative version of the method.
b)Design and implementmeanRec, the recursive version of the method.
c)Write a driver programTestMeanVal.javato test the two methods. Consider an array of size 20 populated with random integer values in the range 1 .. 99. Invoke the two methods and display the result.
Hint:For the recursive method, try to deduce a recurrence relation betweenmeanRec(n)andmeanRec(n-1)starting frommeanRec(n)formula (consider an arrayaof sizen):
meanRec(n) =(a[n-1] + a[n-2] + … + a[0]) / n
You should organize the right side of the above assignment statement to highlight there the expression ofmeanRec(n-1)which is: (a[n-2] + a[n-3] + ... + a[0]) / (n-1).
Submission requirements
Your completed assignment consist of theTestDigits.java and TestMeanVal.javafiles.