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 :

trid dans une procedure


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    technicien
    Inscrit en
    Mars 2018
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : technicien
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2018
    Messages : 20
    Par défaut trid dans une procedure
    bonjour
    j'ai écris un code qui permet de charger un tableau par un nombre aléatoire
    mais je n'arrive pas a trouver comment vérifier si il a déjà été tiré

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public static  void charger(int []t)
        {
        for (int i=0;i<20;i++)
        {
        int hazard=(int) (Math.random()*(20-1)+1);
        t[i]=hazard;	
        }	
        }
    merci

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Tu veux dire "je n'arrive pas à savoir si le nombre tiré a déjà été tiré" ou "si le tableau a déjà été tiré" ? C'est quoi le "il" dans ta question ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut
    par le plus grand des hasards tu ne voudrais pas faire un tableau de nombres de 1 à 20 disposés dans n'importe quel ordre (et sans répétition)?
    créer une liste ordonnée de 1 à 20 puis Collections.shuffle() et toArray() ?
    (sauf que le tableau serait alors le résultat pas le paramètre de la méthode ...)
    enfin c'est juste un hypothèse... vu que je n'ai pas vraiment compris la question ....

  4. #4
    Membre averti
    Homme Profil pro
    technicien
    Inscrit en
    Mars 2018
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : technicien
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2018
    Messages : 20
    Par défaut
    bonjour
    je ne veux pas avoir deux mêmes chiffre dans le tableau
    merci

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Il suffit donc tu cherches dans les valeurs déjà tirées si la nouvelle valeur tirée n'existe pas déjà.
    Donc parcourir les valeurs jusqu'à la valeur actuellement tirée exclue (for(int j=0; j<i; j++), et comparer la valeur t[j] avec hazard. Si t[j]==hazard, alors il faut recommencer le tirage, ce que tu peux faire avec un do/while (faire tant que hazard est déjà tiré). comme tu ne peux mettre une boucle dans la condition du do/while, il te faut faire cette boucle dans le corp du do/while en utilisant un booléen pour stocker le fait que t[j]==hazard.

    Ça c'est sur le principe. Mais il y a comme un souci : (int) (Math.random()*(20-1)+1);. Les valeurs possibles sont comprises entre 1 inclus et 19 exclu. Soit 18 valeurs. A mettre dans 20 cases. Donc forcément au moins deux valeurs en double.

    Si il s'agit bien de ne tirer que des valeurs comprises entre la taille du tableau exclue et 0 (ou similairement entre 1 et taille du tableau+1 (et non-1) exclue), il suffit plus simplement de remplir le tableau avec les valeurs possibles et de mélanger aléatoirement (comme dit par Professeur Shadoko). Si c'est pour un exercice, il te faudra écrire une méthode qui mélange le contenu d'un tableau (principe : parcourir le tableau et pour chaque indice, tirer un indice aléatoirement et échanger entre l'indice courant et l'indice tiré).

    Sinon il faut nécessairement pourvoir tirer des valeurs dans un intervalle qui permet d'obtenir au moins un nombre de valeurs possibles égal aux nombres de valeurs voulues (taille du tableau si on remplit le tableau).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 05/08/2004, 13h15
  2. Probleme dans une procedure stockée
    Par malbaladejo dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 07/07/2004, 14h08
  3. [DEBUTANT] Une vue dans une procedure stockee ?
    Par Invité dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/02/2004, 11h57
  4. Réponses: 4
    Dernier message: 28/12/2003, 15h50
  5. [TP]code asm dans une procedure
    Par M.Dlb dans le forum Turbo Pascal
    Réponses: 3
    Dernier message: 17/08/2002, 20h43

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