Sélection aléatoire en java

ziedzico Messages postés 393 Date d'inscription   Statut Membre Dernière intervention   -  
ziedzico Messages postés 393 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, d'abord voici mon code qui affiche 9 entiers compris de 1 à 9 aléatoirement
------------------------------------------------------------------------------------------------
package testrand;

import java.util.*;

public class Main {

public static void main(String args[]) {

for(int c=1;c<10;c++){
Random rand = new Random();
int x = rand.nextInt(9)+1;
System.out.print(x+" ");
}
}
}
--------------------------------------------------------------------------------------------------
en fait je veux afficher tous les entiers de 1 à 9 sans double de façon aléatoire
merci d'avance de m'aider
A voir également:

5 réponses

Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663
 
pour cela l'idée est de prendre un tableau avec ces entiers, puis de mélanger le tableau (par exemple en faisant une boucle qui échange deux valeurs au hasard du tableau à chaque fois, et cela 100 fois par exemple.
0
ziedzico Messages postés 393 Date d'inscription   Statut Membre Dernière intervention   112
 
merci , problème résolu avec collections.shuffle() qui mélange une liste d'objets
voila ce code:

package testrand;
import java.util.*;
public class collection {
public static void main(String args[]) {
ArrayList l = new ArrayList();
for (int i = 1; i < 10; i++)
l.add(i);
Collections.shuffle(l);
System.out.println(l);
}
}

reste a voir toutes les combinaisons .. :-\
0
Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663
 
ah oui, shuffle c'est très bien :) . J'ai cru que tu n'avais pas le droit d'utiliser ça (exercice d'école).

pour faire toutes les combinaisons, il faut faire échanges d'un tableau de base 1 2 3 4 5 6 7 8 9 méthodiquement (ou récursivement)
0
ziedzico Messages postés 393 Date d'inscription   Statut Membre Dernière intervention   112
 
merci , c'est une méthode la translation mais ça prend du temps et je veux laisser le hasard qui fait l'ordre de ces combinaisons.
0
Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663
 
si tu laisses le hasard, alors tu as une trs grande probabilité d'avoir beaucoup de doublons, et donc de prendre bien plus de temps que si tu ne les faisais méthodiquement.

Tu disais avant que tu voulais les avoir toutes, non ? Dans quel but ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ziedzico Messages postés 393 Date d'inscription   Statut Membre Dernière intervention   112
 
c pour remplir la grille sudoku dès le début mais au hasard si ce n'est pas la façon d'en résoudre
merci pour ton aide
0