processSets
Category: Token-Based File Processing
Author: Stuart Reges
Book Chapter: 6.2
Problem: processSets
Write a static method called processSets that takes a Scanner as a parameter and that prints information about a series of data sets stored in the Scanner. The Scanner will contain a sequence of data entries where an entry is either: - a positive integer followed by a real number, which indicates that the given real number occurs the given number of times in the data set, as in "3 4.2" which would indicate 3 occurrences of 4.2 - a 0, which indicates the end of the data set For example, suppose the Scanner contains the following data: 3 4.5 2 9.8 7 4.5 0 4 2.7 5 3.9 0 2 3.2 4 7.1 0 This input includes three data sets because it has three zeros. The first data set has 3 occurrences of 4.5, 2 occurrences of 9.8 and 7 occurrences of 4.5 (terminated by a 0). The second data set has 4 occurrences of 2.7 and 5 occurrences of 3.9, again terminated by a 0. The third data set has 2 occurrences of 3.2 and 4 occurrences of 7.1 terminated by a 0. Your method should report for each data set the total number of entries in the data set and the average of the numbers. For the input above, the following output should be produced: total values = 12 average value = 5.383333333333333 total values = 9 average value = 3.3666666666666667 total values = 6 average value = 5.8 You must exactly reproduce this format. The value 0 that is used to terminate each data set should not be included in the computations. Notice that you have to account for the multiple occurrences of each number in reporting the total number of values and the overall average for the data set. For example, the first data set is specified by three pairs of numbers, but because of the duplicates, it contains a total of 12 numbers and the overall average of those 12 numbers is reported. If the Scanner is initially empty, your method should produce no output. Otherwise you may assume that no data set is empty and that each data set is terminated by a 0 (including the last data set). Write your solution to processSets below.