Il problema è nel cast ad int che effettui in fase di popolamento dell'array random.
Tu fai:

codice:
(int)Math.random() * 10
per ogni valore inserito, ma così facendo effettui prima il cast ad int del valore restituito dal metodo random() che è compreso tra 0.1 ed 1.0. Quindi, tranne nel caso in cui esso è 1.0 il cast ad int ti restituirà sempre 0 per cui sarà inutile effettuare la moltiplicazione per 10
Il codice corretto è:

codice:
(int)(Math.random() * 10)
In questo modo PRIMA effettui la moltiplicazione per 10 e poi casti il risultato ad int.