1

Here's some comments added to the code to explain what's going on. :-)

import java.util.*;

public class RandomNumberPrinter
{
    // Constants.
    public static final int ARRAY_SIZE = 50;
    public static final int MAX_NUMBER = 999;

    public static void main( String[] args )
    {
        // Create an empty set to store the unique random numbers.
        LinkedHashSet<Integer> numberSet = new LinkedHashSet<Integer>();

        // Create a random number generator.
        Random random = new Random();

        // While the set is smaller than the required size (50)...
        while( numberSet.size() < ARRAY_SIZE )
        {
            // ...add a random number between 0 and the maximum number (999).
            // Note: if a value is added that is already in the set, it will be
            //       overwritten, so the set will stay the same size.
            numberSet.add( random.nextInt( MAX_NUMBER + 1 ) );
        }

        // Convert the set into an array.
        Integer[] numbers = numberSet.toArray( new Integer[ 0 ] );

        // Print out the numbers in a 10 x 5 grid.
        for( int row = 0; row < 5; ++row )
        {
            for( int col = 0; col < 10; ++col )
            {
                int index = ( row * 10 ) + col;
                System.out.printf( "%03d ", numbers[ index ] );
            }
            System.out.println();
        }
    }
}
0

LinkedHashSet<T> - This class holds a set of unique values of type 'T'.

whats the 'T' stand for? sorry for being a pain

0

LinkedHashSet<T> - This class holds a set of unique values of type 'T'.

whats the 'T' stand for? sorry for being a pain

Take a look here.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.