IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Sortir 6 numéros parmi 18 numéros


Sujet :

avec Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut Sortir 6 numéros parmi 18 numéros
    bonjour
    j'ai 18 numéros à ma disposition, sorti à partir de ce prg,
    maintenant je vais sortir de ces numéros seul 6 numéros en randam;
    quelqu'un peut m'aider svp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    import java.util.Random;
    public class randomtirage 
    {
     public static void main(String[]args)
     {
    	 Random dice=new Random();
    	 int number,i;
    	 for(i=1;i<=3;i++)
    	 {
    	   for(int counter=1;counter<=6;counter++)
    	   {
    		 number=1+dice.nextInt(50);
    		 System.out.print(number+",");
    		 System.out.print("");
    	  }
     
    	 }
       }
    }

  2. #2
    Membre régulier

    Homme Profil pro
    Lycéen-Développeur Java autodidacte
    Inscrit en
    Février 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Lycéen-Développeur Java autodidacte
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 33
    Points : 117
    Points
    117
    Par défaut
    Bonjour,
    hum, je suis pas sûr d'avoir compris ta question, mais si tu veux sortir 6 numéros aléatoirement parmi les 18 précédents, tu peux tenter ceci :

    1. Au lieu de te contenter d'afficher les 18 numéros tirés, stocke-les dans un tableau
    2. Tire ensuite 6 numéros aléatoires entre 0 et 17
    3. Prends les numéros du tableau aux indices correspondants aux 6 numéros tirés à l'étape précédente
    4. (Sur un intervalle si petit, [0;17], il y aura sûrement des doublons, donc tu peux vérifier à chaque tirage que le nombre n'a pas déjà été tiré et, si c'est le cas, en retirer un autre à la place jusqu'à obtenir 6 nombres différents)


    P.S.: tu as une raison particulière de tirer 3*6 numéros au lieu de tirer les 18 dans une seule boucle ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Points : 147
    Points
    147
    Par défaut
    ok merci pour vos aides
    j'ai écrit ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    import java.util.ArrayList;
    import java.util.Random;
    public class randomtirage1 
    {
     public static void main(String[]args)
     {
    	 Random rand=new Random();
    	 ArrayList<Integer>list1=new ArrayList<Integer>(15);
    	 for(int i=0;i<15;i++)
    	 {
    		 int number=1+rand.nextInt(50);
    		 list1.add(number);
    	 }
    	 System.out.println("3 tirage de 5 numéros:"+list1);
    	 ArrayList<Integer>list2=new ArrayList<Integer>(5);
    	 for(int i=0;i<5;i++)
    	 {
    		 int n=rand.nextInt(list1.size());
    		 int number=list1.remove(n);
    		 list2.add(number);
    	 }
    	 System.out.println("tirage de 5 numeros"+list2);	 
     }
    }
    mais je veux qu'il s'affiche pas le même numéros 2 fois
    par exemple
    15.45.23.45.4
    ici il s'affiche 2 fois 45
    mais je veux ainsi que 15.45.23.18.4

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Comme on l'a dit, il te suffit de vérifier à chaque tirage que le numéro n'est pas déjà pris et, si c'est le cas, de refaire un tirage.

    L'autre option c'est de tirer un numéro entre 0 et 18 pui 0 17 pûis 0 16 etc en retirant à chaque fois du tableau le numéro qu'on viens de tirer.

  5. #5
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2012
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2012
    Messages : 72
    Points : 90
    Points
    90
    Par défaut Un exemple..
    Perso, j'ai eu le même probleme et je l'ai réglé comme ca: créer un ArrayList et ranges-y tes 18 numéros.
    et fais comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    for(int n=0; n<6; n++){
    ArrayList<int> mSixNumeros = new ArrayList<int>()
    int s = mArrayList.size();
     
    int result = //tu effectue un random entre 0 et la valeur s. 
    int valeurResult = mArrayList.get(result);
    mSixNumeros.add(valeurResult);
    mArrayList.remove(valeurResult);
     
     
    }
    Voilà un exemple qui, je l'espere, t'aidera

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par cheikdav Voir le message
    Voilà un exemple qui, je l'espere, t'aidera
    On précisera quand même que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrayList<int> // ceci ne compile pas
    ne compile pas.

    Mais bon, c'est l'idée, oui.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [Crystal] transformation d'une date en numéro de semaine
    Par barna dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 24/03/2017, 09h41
  2. Sortir 5 numéros
    Par domxaline dans le forum Débuter avec Java
    Réponses: 14
    Dernier message: 25/02/2013, 00h36
  3. Réponses: 3
    Dernier message: 31/08/2007, 18h31
  4. récuperation d'un numéro de téléphone
    Par herzleid dans le forum Delphi
    Réponses: 4
    Dernier message: 17/07/2007, 09h25
  5. Calcul des numéros de semaine d'un calendrier
    Par Invité dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 06/11/2002, 21h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo