Partage
  • Partager sur Facebook
  • Partager sur Twitter

Aide Recherche Tableaux

Sujet résolu
    17 juillet 2011 à 14:51:56

    Bonjour,

    Tout d'abord je m'excuse pour le titre peu explicatif mais vous allez comprendre pourquoi.

    Donc en fait je cherche à aller chercher des int dans un tableau créer au préalable en fonction d'une variable :

    j'ai un tableau : salle9, un tableau : salle10, et un tableau salle11.
    J'ai une variable qui m'indique salle10, donc elle aurait très bien pu indiquer salle11.
    Et bien je souhaiterai qu'en fonction de cette variable je travaille avec les int du tableau qui va avec comme je ne connais pas ma variable d'avance.
    Petit exemple qui aurait pu marcher mais qui n'est pas le cas ... :(

    public class Prog 
    {
    	
    	
    	public static void main(String[] args)
    	{
    		int salle9[] = {10, 15};
    		int salle10[] = {15, 20};
    		int salle11[] = {20, 25};
    		
    		
    		int i = 0;
    		
    		for (i = 9; i<11; i++)
    			{
    			System.out.println((salle+i)[0]); // L'erreur se situe sur "salle"
    
    // en fait j'aurai aimer qu'il m'affiche le premier int du tableau en fonction de la variable comme dans mon code je ne connaitrai jamais la variable, c'est pour envisager tout les cas
    			}
    	}
    }
    


    Voilà en espérant que cela est possible et que vous en connaissiez la solution.
    Merci par avance.




    ~Farm~
    • Partager sur Facebook
    • Partager sur Twitter
      17 juillet 2011 à 15:59:23

      Plop,

      Tu essayes de concaténer deux variables de façon bizarre pour en obtenir une autre. Déjà la variable "salle" n'existe pas, de plus, même si elle existait tu pourrais, au mieux obtenir la chaîne de caractères "salle10" et non le tableau. Pourquoi ne pas faire cela :

      public class Prog 
      {
      	
      	
      	public static void main(String[] args)
      	{
      		int salle9[] = {10, 15};
      		int salle10[] = {15, 20};
      		int salle11[] = {20, 25};
      		
      			
      		System.out.println(salle9[0] + "\n" + salle10[0] + "\n" + salle11[0]);
      			
      	}
      }
      
      • Partager sur Facebook
      • Partager sur Twitter
        17 juillet 2011 à 16:02:43

        Si j'ai bien compris, ce qu'il te faut c'est non pas plusieurs tableaux à une dimension mais un tableau à deux dimensions.
        Par exemple, en adaptant un peu ton code ça pourrait donner :
        public class Prog {
          public static void main(String[] args) {
            int[][] salle = new int[12][9];
            salle[9] = new int[] {10, 15};
            salle[10] = new int[] {15, 20};
            salle[11] = new int[] {20, 25};		
            for (int i = 9; i < salle.length; i++) {
              System.out.println(salle[i][0]); 
            }
          }
        }
        
        • Partager sur Facebook
        • Partager sur Twitter
          17 juillet 2011 à 17:42:04

          kikoO, en fait je veux acceder à un tableau en fonction de une variable donc ça se rapproche plus de la réponse de Shaddan, merci.

          Shaddan, je n'ai pas trés bien compris comment tu t'y es pris pour créer ton tableau à deux dimensions bien que je pense avoir compris son utilité.
          Pourrais-tu m'expliquer un peu de la 3eme lignes à la 6eme ?
          Merci.


          Edit : j'ai tripatouiller un peu ton code et j'ai compris... merci de ton aide je pense que c'est la solution à mon problème, merci.



          ~Farm~
          • Partager sur Facebook
          • Partager sur Twitter
            17 juillet 2011 à 17:46:34

            Je me permet de t'expliquer à la place de Shaddan, tu auras une réponse plus rapide comme ça

            Citation : Shaddan


            public class Prog {
              public static void main(String[] args) {
                int[][] salle = new int[12][9]; // On créé un tableau à deux dimension, c'est un tableau contenant 12 tableau contenant 9 entier. (Relis lentement et tu devrait comprendre)
                salle[9] = new int[] {10, 15}; // Ici on accede au 10eme tableau (le premier étant 0) contenue dans le tableau Salle. Et on y place un nouveau tableau avec des valeurs arbitraire (c'est pour l'exemple)
                salle[10] = new int[] {15, 20};
                salle[11] = new int[] {20, 25};		
                for (int i = 9; i < salle.length; i++) {
                  System.out.println(salle[i][0]);  // Ici il suffira alors de parcourir de tableau de la même façon que tu souhaitai le faire avec ton salle+i
                }
              }
            }
            
            • Partager sur Facebook
            • Partager sur Twitter
            Si debugger, c’est supprimer des bugs, alors programmer ne peut être que les ajouter - Edsger Dijkstra
              17 juillet 2011 à 17:53:17

              Je pense que damjuve en a dit suffisamment.
              Pour plus de détails, une partie du cours traite de ce sujet donc si ça t'intéresse je te conseille d'y jeter un coup d’œil.
              tuto officiel
              • Partager sur Facebook
              • Partager sur Twitter

              Aide Recherche Tableaux

              × 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