Partage
  • Partager sur Facebook
  • Partager sur Twitter

Boucle For et String

    11 août 2017 à 14:56:15

    Bonjour, j'apprends actuellement le Java avec le livre de cisboy (qui est très bien au passage), mais voilà, il y a un passage que je ne comprends pas, et c'est plus particulièrement ce code qui m'échappe : 
    public class Project {
    
    	public static void main(String[] args) {
    	String tab [][] = {{"tata","tutu","toto","titi","tete"},{"1","2","3","4","5"}};
    	int i=0,j=0;
    	for(String sousTab[] : tab)
    		{
    		i=0;
    				for(String str : sousTab)
    				{
    					System.out.println("La valeur de la nouvelle boucle est "+str);
    					System.out.println("La valeur de la boucle à l'endroit ["+j+"]["+i+"] est : "+tab [j][i]);
    					i++;
    				}
    				j++;
    		}
    				
    		
    		
    	
    	}
    	}
    

    Je ne comprends pas l'intérêt du : for (String sousTab[] : tab). S'agit-il d'une boucle de recherche ?

    Merci d'éclairer ma lanterne ^^

    • Partager sur Facebook
    • Partager sur Twitter
      11 août 2017 à 15:28:31

      En gros, tu parcours ta liste d'éléments dans ta variable "tab" dans l'ordre d'apparition dans la table. C'est comme si tu faisais:

      public class Project {
       
          public static void main(String[] args) {
              String tab [][] = {{"tata","tutu","toto","titi","tete"},{"1","2","3","4","5"}};
              int i=0,j=0;
              for(int k = 0; k < tab.length; k++)
              {
                  String sousTab[] = tab[k];
                  i=0;
                  for(int l = 0; l < sousTab.length; l++)
                  {
                          String str = sousTab[l];
                          System.out.println("La valeur de la nouvelle boucle est "+str);
                          System.out.println("La valeur de la boucle à l'endroit ["+j+"]["+i+"] est : "+tab [j][i]);
                          i++;
                  }
                  j++;
              }
               
          }
      }


      Et au premier tour de boucle, tu auras "sousTab" égal à "{"tata","tutu","toto","titi","tete"}" et au deuzième tour "
      {"1","2","3","4","5"}"

      • Partager sur Facebook
      • Partager sur Twitter
        11 août 2017 à 18:32:16

        D'accord je vois. C'est en fait une manière plus simple d'écrire qu'avec des boucles do... while. Le premier for donne les dimensions du tableau et le second sert de boucle de recherche au sein de chacune de ces dimensions si je comprends bien.

        EDIT : OK finalement je me suis mis des break point (je ne sais plus si ça s'appelle comme ca) sur Eclipse et je suis passé en mode debug pour voir ce qui se passait vraiment, et il s'est passé ce que tu m'as décrit. Merci beaucoup de ton aide ;)

        -
        Edité par GaletteDeSarrasin 12 août 2017 à 0:07:22

        • Partager sur Facebook
        • Partager sur Twitter

        Boucle For 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