1 /**
2 This class analyzes the distribution of the last digit of values
3 from a sequence.
4 */
5 public class LastDigitDistribution
6 {
7 private int[] counters;
8
9 /**
10 Constructs a distribution whose counters are set to zero.
11 */
12 public LastDigitDistribution()
13 {
14 counters = new int[10];
15 }
16
17 /**
18 Processes values from this sequence.
19 @param seq the sequence from which to obtain the values
20 @param valuesToProcess the number of values to process
21 */
22 public void process(Sequence seq, int valuesToProcess)
23 {
24 for (int i = 1; i <= valuesToProcess; i++)
25 {
26 int value = seq.next();
27 int lastDigit = value % 10;
28 counters[lastDigit]++;
29 }
30 }
31
32 /**
33 Displays the counter values of this distribution.
34 */
35 public void display()
36 {
37 for (int i = 0; i < counters.length; i++)
38 {
39 System.out.println(i + ": " + counters[i]);
40 }
41 }
42 }