/*
 * Example solution for Quiz 1
 * by TA D. Ezra Sidran
 * Section A03
 */


import java.io.*;
import java.util.*;
// Note: you do not need to import java.util.Random because java.util.* includes this

class ImprovedRandomTest {

	private static BufferedReader stdin = new BufferedReader( new InputStreamReader( System.in ) );

	// main method
	public static void main (String args[]) {

		// Prompt the user
		System.out.println( "Type in a number that will be an upper bound of random numbers. " );
		System.out.print( "The number should be in the range 1..1000:  " );

		try{
			// Read a line of text from the user.
        		String input = stdin.readLine();

			// converts a String into an int value
			int number = Integer.parseInt( input );

			int[] ndigits = new int[number];
			Random myRandom = new Random();

			// Initialize the array
			for (int i = 0; i < number; i++)
				ndigits[i] = 0;

			// Test the random number generator a whole lot
			for (long i=0; i < 100000; i++) {
				// generate a new random number between 0 and number
				// Note: This is the proper way to generate a random integer
				// many students had problems with this.
				int x = myRandom.nextInt (number) ;

		      		//count the digits in the random number
		      		ndigits[x]++;
		  	}// for i

		  	for (int i = 0; i < number; i++)
		  		System.out.println(i+": " + ndigits[i]);

		} // End try
		catch(java.io.IOException e)
               	{
               		System.out.println(e);
               	}
	} // end of Main
} // end of RandomTest class
