Perche' non mi va questo esercizio

/* dato numeri casuali interi da 1 a 10 contenuti in un array di 100 posizioni ,
visualizzare mediante istogramma (usando desgli *)
il numero totale dei numeri usciti,
es
1: ********
2:***************
..
10:***********
*/

public class Esercizio1
{
public static void main(String[] F4nt4si4)
{
final int cost=100;
int i=0;
int casuali[]= new int[cost];//1


while (i<cost)
{ casuali[i]=(int) (1+Math.random()*10); //2

i++;
}


i=1;
String conter[]= new String[11]; //3
while (i<11)
{ conter[i]="";
i++;
}
boolean sentinella=true;

int m=0;

while ( m<cost)
{
i=1;

do{
if (i==casuali[m])
{conter[i]+="*"; //4
sentinella=false;}

i++;
}while(i<11 && sentinella );
m++;

}

i=1;
for (;i<11; i++)
System.out.print(i+": "+conter[i]+"\n"); // 5









}
}


Commenti:
1//alloco 100 posizioni
2//inizializzo ogni indice con una volore
casuale che va da 1 a 10
3//alloco un array di tipo stringa lo inizializzo e poi faccio corrispondere ogni inidice(da 1 a 10)
con il conteggo degli asterischi dei valori casuali dell'array
casuali.
4//praticamente se all'indice i
corrisponde il valore della
posizione m (array casuali) concateno un asterisco all'array conter con indice i
5// dovrebbe stampare per ogni indice
i corrispettivi * memorizzati in precendeza, ma non mi funziona