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  }