2017-02-18 1 views
1

array est un tableau 2D, ce sont les éléments:Comment utiliser une partie d'un tableau 2D dans une boucle ForEach?

  • [0] [2] [4] [6] [8]
  • [12] [14] [6] [6] [ 10]

Comment puis-je utiliser une boucle for pour accéder uniquement à la deuxième ligne de array?

J'ai essayé de faire ...

for (int n : array[1]) 
    n++; 

mais il ne semble pas fonctionner.

+2

quelle langue est-ce? – shash678

+0

Je n'ai jamais vu un tableau 2D qui ressemble à ça – RSon1234

+0

Ceci est en Java, je montre juste ce que sont les éléments dans le tableau/ – Lowenstein

Répondre

0

En Java, les tableaux sont à base zéro, donc votre idée de [1] pour pointer vers la deuxième dimension va dans le bon sens. Essayez ceci: incrément sur la taille de la première dimension du tableau, et accéder à la seconde dans la boucle:

for (int i = 0; i < array.length; i++) 
     System.out.println(array[i][1]); 

Vous avez initialement demandé au sujet d'un pour-chaque approche. En Java, les tableaux multidimensionnels sont juste un tableau de tableaux, donc vous voulez obtenir chaque sous-tableau à tour de rôle et imprimer le second élément. Comme ceci:

for (int sub[] : array) 
     System.out.println(sub[1]); 
+0

Ouais, c'est ce que j'ai fini par faire. Savez-vous s'il existe un moyen d'utiliser une boucle for-each? Ou est-ce que ça doit juste être comme ça? – Lowenstein

+0

Bien sûr, je vais réviser la réponse pour montrer comment. – sjgp

0

semble que le problème est avec votre tableau 2D création. Pour chaque boucle que vous utilisez est correcte. Assurez-vous de créer le tableau comme suit:

int[][] arr = {{0, 2, 4, 6, 8},{12, 14, 6, 6, 10}}; 

Si vous utilisez System.out.println dans votre boucle, il imprimera 12, 14, 6, 6, 10.