1  import java.util.Scanner;
  2  
  3  /**
  4     This program reads a sequence of die toss values and prints how many times
  5     each value occurred.
  6  */
  7  public class Dice
  8  {
  9     public static void main(String[] args)
 10     {
 11        int[] counters = countInputs(6);
 12        printCounters(counters);
 13     }
 14  
 15     /**
 16        Reads a sequence of die toss values between 1 and sides (inclusive) 
 17        and counts how frequently each of them occurs.
 18        @return an array whose ith element contains the number of 
 19        times the value i occurred in the input. The 0 element is unused.
 20     */
 21     public static int[] countInputs(int sides)
 22     {
 23        int[] counters = new int[sides + 1]; // counters[0] is not used
 24  
 25        System.out.println("Please enter values, Q to quit:");
 26        Scanner in = new Scanner(System.in);
 27        while (in.hasNextInt())
 28        {  
 29           int value = in.nextInt();
 30  
 31           // Increment the counter for the input value
 32  
 33           if (1 <= value && value <= sides)
 34           {
 35              counters[value]++;
 36           }
 37           else
 38           {
 39              System.out.println(value + " is not a valid input.");
 40           }
 41        }
 42        return counters;
 43     }
 44  
 45     /**
 46        Prints a table of die value counters.
 47        @param counters an array of counters.
 48        counters[0] is not printed.
 49     */
 50     public static void printCounters(int[] counters)
 51     {
 52        for (int j = 1; j < counters.length; j++)
 53        {
 54           System.out.println(j + ": " + counters[j]);
 55        }
 56     }
 57  }
 58