Random java

Loula -  
 agh -
Bonjour a tous
J'ai un probleme en java
Je veux generer des chifffes aleatoires, mais le résultat est toujours le meme pourtant jinitialise aux nombres de secondes de la date courante :-| .voici mon bout de prog

public void actionPerformed(ActionEvent evt) {
for(int i=0;i<6;i++){
Random r = new Random();
Date date=new Date(30,12,2004);

int nbrPourInitialiser=date.getSeconds();
r.setSeed((long)nbrPourInitialiser);
System.out.println(nbrPourInitialiser);/*Le res donne toujours 0*/
int n= r.nextInt(49);
String s =""+n;
boutons[i].setText(s);
}

Merci a vous tous pour votre aide.
Bonne journee et bonne fete

3 réponses

  1. zagor5 Messages postés 187 Statut Membre 32
     
    Pour prendre la date en court, il faut juste utiliser Date date=new Date(); .
    Si ta boucle s'execute en moins d'une seconde, la valeur nbrPourInitialiser sera toujours la même.

    Je te conseil de sortir de ta boucle l'initialisation du random.

    public void actionPerformed(ActionEvent evt){
            Random r = new Random();
            Date date=new Date();
            
            int nbrPourInitialiser=date.getSeconds();
            r.setSeed((long)nbrPourInitialiser);
            System.out.println(nbrPourInitialiser);
            
            for(int i=0;i<6;i++){
                
                int n= r.nextInt(49);
                String s =""+n;
                boutons[i].setText(s); 
            }
        }


    Plus ça rate, plus on a de chances que ça marche.
    0
  2. Loula
     
    Merci beaucoup pour ta reponse cest tres gentil de ta part.
    Bonne Année
    0
  3. agh
     
    bonjour,

    j'ai un probleme dans mon pg c ke quand j'affiche ma matrice de vector il me l'affiche aléatoirement c ca ke je veuw faire mais ya des objets ki manquent a chaque fois .

    voici le bout de mon pg

    x=r1.nextInt(10);y=r2.nextInt(10);
    while ((compt<10) && (tab[x][y]== null)){

    Vector fourmi=new Vector();

    fourmi.addElement(new Integer(compt));
    tab[x][y]=fourmi;compt=compt+1;
    x=r3.nextInt(10);y=r4.nextInt(10);

    }

    for(int i=0;i<10 ;i++){
    for(int j=0;j<10;j++){

    System.out.println(tab[i][j]);
    0