Partage
  • Partager sur Facebook
  • Partager sur Twitter

Comparer une donnée avec un tableau

Sujet résolu
    20 décembre 2014 à 16:34:21

    Bonjour je voudrais mettre dans un while quelque chose du genre
    while (a!= tableau[0] && a!= tableau[1] && a!= tableau[2] && ...)

    Y'a t'il en java , une fonction qui mettre de faire cette chose en une action c'est a dire compare une valeur a chaque valeur d'un tableau ?

    Merci

    -
    Edité par Shuxxx 20 décembre 2014 à 16:35:24

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      20 décembre 2014 à 16:42:58


      /* Si tu dois arrêter ton action lorsque a est égale ..  */ 
      int i = 0; 
      while ( i < monTab.length ){
          if (a == monTab[i]){
             break; 
          } 
       i += 1 ; 
      } 
      


      • Partager sur Facebook
      • Partager sur Twitter
        20 décembre 2014 à 16:51:49

        Salut,

        l'exemple de Wang-Fu est juste mais tu peux  également utiliser un  boolean à la place du break.

        boolean trouve = false;
        
        while ( (i < monTab.length) && (!trouve) ){
            if (a == monTab[i]){
               trouve = true;
            }
         i += 1 ;
        }



        -
        Edité par Wear 20 décembre 2014 à 16:53:49

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          20 décembre 2014 à 17:04:09

          Wear, le break c'est par vieille habitude ^^. Mais effectivement, c'est plus propre avec un booléen !
          • Partager sur Facebook
          • Partager sur Twitter
            20 décembre 2014 à 17:58:16

            Personnellement, je préfère cette version

            for (int valeur : tableau) {
                if (valeur == a)
                    break;
                // Faire des choses
            }

            ou éventuellement, si on doit modifier les valeurs du tableau,

            for (int i = 0; i != tableau.length; ++i) {
                if (tableau[i] == a)
                    break;
                // Faire des choses
            }





            • Partager sur Facebook
            • Partager sur Twitter
              21 décembre 2014 à 15:19:23

              Bonjour.

              Bien plus élégant :

              for (int i = 0; !trouve && i < tableau.length; i++)
                  if (a == tableau[i])
                      trouve = true;

              La solution que je préfère : 1 ligne, maintenable (pas à changer le test d'égalité si les types passent object)

              boolean trouve = Arrays.asList(tableau).contains(a);
              • Partager sur Facebook
              • Partager sur Twitter
              Angular 2 est l'avenir, jQuery c'est de la merde !!! - Java 8 c'est l'an 2016+ (programmez en 1 ligne)

              Comparer une donnée avec un tableau

              × 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