Coix aléatoire d'une liste
Fermé
jj1k
Messages postés
30
Date d'inscription
jeudi 8 juin 2017
Statut
Membre
Dernière intervention
3 septembre 2017
-
21 juil. 2017 à 14:06
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 21 juil. 2017 à 22:30
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 21 juil. 2017 à 22:30
A voir également:
- Coix aléatoire d'une liste
- Liste déroulante excel - Guide
- Liste de numéro de téléphone suspect 07 ✓ - Forum Mobile
- Annuaire inversé gratuit liste rouge - Forum Internet / Réseaux sociaux
- Le fichier contient une liste de prénoms. triez ce tableau par ordre alphabétique des prénoms. quel mot est formé par les 6 premières lettres de la colonne code ? - Forum Bureautique
- Rechercher un numéro sur liste rouge ✓ - Forum Mobile
4 réponses
Genere un nombre aleatoire entre 1 et 3 et selectionne la liste correspondante avec un switch case
Aider est mon nindo
Aider est mon nindo
jj1k
Messages postés
30
Date d'inscription
jeudi 8 juin 2017
Statut
Membre
Dernière intervention
3 septembre 2017
21 juil. 2017 à 20:05
21 juil. 2017 à 20:05
c'est pas ça exactement mon but
je veux faire un tirage au sort de deux liste parmi ces 3 listes mais je veux quelque chose génerale parce que le nombre de liste peut augmenter d'un cas à un autre.
je veux faire un tirage au sort de deux liste parmi ces 3 listes mais je veux quelque chose génerale parce que le nombre de liste peut augmenter d'un cas à un autre.
Whismeril
Messages postés
18279
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 mars 2023
888
21 juil. 2017 à 20:29
21 juil. 2017 à 20:29
Bonsoir,
tu mets tes listes dans une listes de listes ou un tableau de listes.
Un premier random te donne la liste, et un second l'élément, à répéter 2 fois.
tu mets tes listes dans une listes de listes ou un tableau de listes.
Un premier random te donne la liste, et un second l'élément, à répéter 2 fois.
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
21 juil. 2017 à 22:30
21 juil. 2017 à 22:30
Bonjour,
Voici un exemple générique :
Exemple :
Ce qui pourrait donner, selon les valeurs aléatoires choisies :
Voici un exemple générique :
private static final Random RANDOM = new Random();
public static int randomInt(int minInclusive, int maxExclusive) {
return RANDOM.nextInt(maxExclusive - minInclusive) + minInclusive;
}
public static List<Integer> randomIndex(int minInclusive, int maxExclusive, int sizeResult) {
Set<Integer> result = new LinkedHashSet<>();
while (result.size() != sizeResult)
result.add(randomInt(minInclusive, maxExclusive));
return new ArrayList<>(result);
}
public static <E> List<E> randomList(List<E> coll, int sizeResult) {
List<E> result = new ArrayList<>(sizeResult);
for (Integer n : randomIndex(0, coll.size(), sizeResult))
result.add(coll.get(n));
return result;
}
Exemple :
public static void main(String[] args) throws Exception {
List<String> list = Arrays.asList("listT1", "listT2", "listT3");
for (int n = 0; n <= list.size(); n++)
System.out.println(n + "\t" + randomList(list, n));
}
Ce qui pourrait donner, selon les valeurs aléatoires choisies :
0 []
1 [listT3]
2 [listT2, listT1]
3 [listT1, listT3, listT2]