# To develop a recursive solution that returns a tuple

Objectives
To develop a recursive solution that returns a tuple
To develop a program that manages bad input
Description
Write a program (sumAndCount.scala) that uses a recursive function that reads Int values from a user one at a time until the user types in the word “quit” (case insensitive!). Your function should return a tuple containing 2 Int values. The first should be the sum of all the Ints, and the second should be the number of Ints entered. Your main program should call this function, and print out the average (rounded) of the values that were entered. Note: You will also need to manage bad input! If the user types something in that isn’t an Int or the word “quit”, your program should print an error message and ask again! As always, pay close attention to the specific messages that your program must print.
Remember: You don’t want any side effects with recursion, so you should not use any “global” variables in your program!
Sample Run 1
\$ scala sumAndCount.scala
Enter an Int (type “quit” to quit):
>3
Enter an Int (type “quit” to quit):
>55
Enter an Int (type “quit” to quit):
>78
Enter an Int (type “quit” to quit):
>2
Enter an Int (type “quit” to quit):
>Quit
The average of your 4 numbers is 35
Sample Run 2
\$ scala sumAndCount.scala
Enter an Int (type “quit” to quit):
>2
Enter an Int (type “quit” to quit):
>3
Enter an Int (type “quit” to quit):
>4.0
That is not an Int or “quit”!
Enter an Int (type “quit” to quit):
>4
Enter an Int (type “quit” to quit):
>5
Enter an Int (type “quit” to quit):
>quiT
The average of your 4 numbers is 4
Sample Run 3
\$ scala sumAndCount.scala
Enter an Int (type “quit” to quit):
>3
Enter an Int (type “quit” to quit):
>78
Enter an Int (type “quit” to quit):
>2
Enter an Int (type “quit” to quit):
>245
Enter an Int (type “quit” to quit):
>quiit
That is not an Int or “quit”!
Enter an Int (type “quit” to quit):
>quit
The average of your 4 numbers is 82
Hints
Similar to the previous assignment, write 2 recursive functions. In this case, however, your function should check to make sure that the user enters eith an Int or the word “quit”
Consider (carefully!) what type of read you would need to use to accept either an Int or a String (in case the user enters “quit”) Both are legal!
use the following prototype for your main recursive function:
def sumAndCount: (Int,Int) = { … }
ACTIONS

In: Computer Science

Don't use plagiarized sources. Get Your Custom Essay on
To develop a recursive solution that returns a tuple
Just from \$8 /Page 0r 300 words

### Save your time - order a paper!

Get your paper written from scratch within the tight deadline. Our service is a reliable solution to all your troubles. Place an order on any task and we will take care of it. You won’t have to worry about the quality and deadlines

Order Paper Now