Partage
  • Partager sur Facebook
  • Partager sur Twitter

[JAVA]Comparaison tablal et string

débutant demande petite aide

Sujet résolu
    26 novembre 2006 à 16:05:54

    Bonjour,

    j'apprends actuellement le langage java et, faisant un petit programme nul et simple :p , je rencontrai un problème...

    Mon programme tire une carte au hasard(nombres(y compris les têtes) et couleur) et la place dans la variable carte(string). Ensuite, pour éviter de revoir les mêmes carte dans la même partie, je compare cette carte à celle déjà tirées qui sont conservées dans un tableau de string.
    Mon problème est ici. La comparaison ne donne jamais true alors qu'elle devrait certaines fois...

    Voici le code concerné :
    for(int i = 0; i < 8; i++){
        if(carte == sorties[i]){
            existe = true;
            System.out.println("\n..."+carte+"...\n...Carte déjà sortie...\n");
        }
    }


    voilà, si quelqu'un peut m'aider je l'en remercie...
    • Partager sur Facebook
    • Partager sur Twitter
      26 novembre 2006 à 17:40:02

      String est un objet, donc si tu compares deux objets avec ==, ca regarde si l'objet est le même, et non si les valeurs des objets sont identiques (je crois que c'est ca :-° ).

      Pour comparer deux strings, il faut utiliser la méthode de equals :
      if (carte.equals(sorties[i]))
      • Partager sur Facebook
      • Partager sur Twitter
        27 novembre 2006 à 13:25:38

        Citation : kokotchY

        String est un objet, donc si tu compares deux objets avec ==, ca regarde si l'objet est le même, et non si les valeurs des objets sont identiques (je crois que c'est ca :-° ).



        C'est à peu près ça. == compare les réferences (c'est-à-dire ce qu'il y a dans la pile), alors que equals() compare les objets pointés par ces réferences (qui sont dans le tas).
        • Partager sur Facebook
        • Partager sur Twitter
          27 novembre 2006 à 17:40:49

          Parfait ca marche très bien...
          merci a vous deux pour l'explication... :D
          • Partager sur Facebook
          • Partager sur Twitter
            29 novembre 2006 à 13:02:40

            C'est une erreur fréquente ça.
            • Partager sur Facebook
            • Partager sur Twitter

            [JAVA]Comparaison tablal et string

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown