"n = (int)(Math.random()*10)+1;"
"Ça retournera une valeur entre 1 et 11 la plutôt non ?"
Non, car Math.random() renvoi une valeur entre 0 inclu et 1 exclu (précision en plus de Bartoniz), du coup en castant en int, même en supposant qu'on obtient la valeur maximale, elle sera toujours strictement plus petite que 1, donc en faisant cette valeur * 10, on ne pourra obtenir qu'au maximum 9, donc c'est bien + 1 si tu veux jusque 10
Exemple de code pour ton problème :
int valeur;
for(int i = 0; i < 20; i++)
{
valeur = (int)(Math.random()*10) + 1;
System.out.print(val + " ");
}
Tu auras donc un affichage du type :
5 10 2 1 7 ... 3
Pour ton soucis de répétition, le 1er problème qui me vient à l'esprit, c'est que tu as dû mettre ta valeur à l'extérieur de la boucle, suivant mon code comme ceci par exemple :
int valeur = (int)(Math.random()*10) + 1;
for(int i = 0; i < 20; i++)
{
System.out.print(val + " ");
}
Tu auras donc un affichage du type :
5 5 5 5 5 ... 5
J'espère t'avoir aidé 