Je le sais pour les entiers normaux, mais existe-t-il pour des indices?Générer un index aléatoire pour un tableau
Random dice = new Random();
int n = dice.nextInt(6);
System.out.println(n);
Je le sais pour les entiers normaux, mais existe-t-il pour des indices?Générer un index aléatoire pour un tableau
Random dice = new Random();
int n = dice.nextInt(6);
System.out.println(n);
Que voulez-vous dire? Les indices de tableau sont des nombres normaux, donc vous pouvez facilement faire
String names[] = { "One", "Two", "Three", "Four", "Five", "Six" };
Random Dice = new Random();
int n = Dice.nextInt(6);
System.out.println(names[n]);
Ou voulez-vous dire une classe Iterator aléatoire? Google est votre ami ici, this est le premier succès que je reçois.
Pour générer un index aléatoire pour someArray
vous
int index = new Random().nextInt(someArray.length);
nextInt(n)
retourne un nombre compris entre 0 (inclus) et n
(exclusive) qui est la raison pour laquelle someArray.length
est donnée comme argument.
Une autre solution serait:
int randomElement = yourArray[Math.random()*yourArray.length];
Math.random() génère un nombre aléatoire entre 0 et 1. Si vous multipliez ce nombre par la longueur de votre tableau, vous obtiendrez un index aléatoire pour la tableau.
Par exemple: Si Math.random() généré 0,2 et votre tableau a une longueur de 10, vous obtiendrez un indice de 2.
Ne fais pas ça. La classe Random le résout déjà et garantit une distribution «paire». – Jorn
Vous devez ajouter Math.floor pour que cela fonctionne. – Cephalopod
Merci d'avoir commenté ma réponse. C'est comme cela que je l'ai fait pendant des années, alors c'est bon de savoir qu'il existe une autre option, meilleure. – Andrew
ce qui est un entier normal? Quels sont les indices? –
pouvez-vous élaborer .. –
Je ne comprends pas vraiment votre question. Un index de tableau est juste un int, donc vous pouvez utiliser ces nombres aléatoires comme index de tableau sans problème. – fresskoma