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

Java Discussion :

Problème de Random


Sujet :

Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Guinée

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2017
    Messages : 2
    Par défaut Problème de Random
    Bonjour à tous,
    Je souhaite créer un jeux de quiz en java. Mon problème est que je n'arrive pas à empêcher a ma méthode Random de répéter les nombres aléatoires à chaque fois que l'utilisateur clique sur le bouton <<pose Question>>.
    Merci d'avance pour votre aide v
    oici le code derrière le bouton<<pose Question>> code : [Voir le code JAVA]

  2. #2
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Ton code n'est pas affiché. Ce serait bien de le poster pour etre sur d'avoir des reponses pertinentes. Mais bon, à vue de boule de crystal, je dirais que tu utilises la méthode Math.random qui renvoie un nombre entre 0 et 1 et que tu le castes, plus ou moins directement, en int. Donc, tu obtiens toujours la meme valeur.
    Si c'est le cas, une solution peut etre d'utiliser la classe java.util.Random avec la fonction nextInt.
    Sinon, il faudrait poster le code.

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Guinée

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2017
    Messages : 2
    Par défaut voici le code
    //cette methode est celle qui permet de poser des question et de garder la bonne reponse dans la variable capitale
    Code Java : 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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
      public void pose_question(){
     
     
         //la table data[] contien les question et les proposition de reponses
          String data[][]={
    			{"Avec quelle balise effectue-ton un retour à la ligne ?","<entre/>","<td/>","<br/>","<retour/>","HTML"},
                            {"Comment fait-on por effectuer une petite mise en valeur ?","<Strong>Text<Strong/>","","","<em>Text<em/>","HTML"},
                            {"Quelle est la Syntaxe exacte de la proprièté 'padding' ?","Créé marge interne","Décalage","Crée marge externe","Aucun des trois","CSS"},
                            {"Laquelle de ces balise n'appartient pas au tableaux ?","<table>","<td>","<ts>","<tr>","HTML"},
                            {"Si je tape <<&eacute>> quelle lettre vais-je obtenir ?","é","è","e","rien","HTML"},
                            {"Comment définit-on la couleur de text d'un élément ?","text-color=","color","fgcolor","text-color:","CSS"},
                            {"Quelle est la spseudo classe qui permet de dire <<au passage de la souri>> ?","OnClick","Mouse","hover","avtive","CSS"},
                            {"Comment puis-je mettre 4 en expxposant de 10 ?","10<exp>4<exp/>","10<e>4<e/>","10<inf>4<inf/>","10<sup>4<sup/>","HTML"},
                            {"Quelle est la fonction qui permet de rendre un objet visible ?","getVisible","setvisible","enabled","focusable","Java"},
                            {"Java est un produit de ?","Sun","Pcsoft","oracle","microsoft","Culture générale"},
                            {"le langage C à été conçu en?","1970","1978","1960","1968","Culture générale"}
    	               };
     
           /*la table reponse_quest[]  contien les bonne_reponse des questions 
           suivant leurs positionnement dans la table c'est à dire question ligne 1 de la table data est 
           égale à reponse ligne 1 de la table reponse_quest[]
          */
           String reponse_quest[]={"<br/>",
                                  "<em>Text<em/>",
                                  "Créé marge interne",
                                  "<ts>",
                                  "é",
                                  "color",
                                  "hover",
                                  "10<sup>4<sup/>",
                                  "setvisible",
                                  "oracle",
                                  "1970"
           };
           //declaration du tableau dynamique pour empecher la repetition indice de ligne de la table data
           ArrayList<Integer> ind_no_rep= new ArrayList<>();
       	do{
                //fonction qui donne des nbres aléatoire à la reference hasar
               Random hasar=new Random();
          // on donne le nbre hasar à la variable ligne
      	    ligne=hasar.nextInt(data.length);
      	    }while(ind_no_rep.contains(ligne));
               ind_no_rep.add(ligne);
            //on recupère la question à la position de la table data[hasar][0] et afficher la question dans le libelé textquest
      	 Question=data[ligne][0];
            textquest.setText(Question);
    }
    merci d'avance

  4. #4
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    ok, je comprends mieux ton probleme. En fait, tu utilises une liste ArrayList<Integer> ind_no_rep= new ArrayList<>();
    C'est une variable locale a ta fonction. Autrement dit, lorsque tu sors de ta fonction, elle est détruite. Ca veut dire qu'a chaque fois que tu appelles ta fonction, ta liste est vide et ne filtre donc rien.
    Une solution serait d'utiliser une variable de classe (en supposant que l'objet qui contient le code posté n'est pas re-créé à chaque question). Une autre solution serait de passer la liste de questions posées à ta fonction pose_question et ainsi, laisser l'appelant choisir quoi en faire.

Discussions similaires

  1. [OpenOffice][Tableur] Aidez moi pour une macro dans calc svp !
    Par kakakikol dans le forum OpenOffice & LibreOffice
    Réponses: 1
    Dernier message: 28/10/2010, 09h41
  2. Aidez moi à résoudre ce problème s'il vous plait !
    Par DionCeli dans le forum Général Java
    Réponses: 1
    Dernier message: 17/05/2010, 17h40
  3. aidez moi à résoudre cet exercice
    Par miroush dans le forum Débuter
    Réponses: 6
    Dernier message: 20/02/2010, 19h26
  4. Aidez moi à résoudre ce problème [les listes]
    Par ghorbelala dans le forum C++
    Réponses: 3
    Dernier message: 23/05/2008, 22h38
  5. SVP aidez moi à résoudre ce prob de Filtrage
    Par kiops dans le forum Bases de données
    Réponses: 8
    Dernier message: 14/05/2007, 00h58

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