2010-03-24 6 views
3

Pourquoi ma boucle améliorée ne fonctionne-t-elle pas?Amélioration du problème de boucle

Vector<String> v = new Vector<String>(); 
      v.add("one"); 
      v.add("two"); 
      v.add("three"); 
      for(String str : v){ 
       System.out.println(v); 
      } 
+0

Un conseil pour le futur, Antony. Le meilleur "Qu'est-ce qui ne va pas?" Les questions consistent en code avec le comportement attendu et réel (comme "Je m'attendais à" un deux trois "mais à la place obtenu" un deux trois trois un deux trois un deux trois "). Cela rendra beaucoup plus facile d'éliminer le problème (malgré le fait que Carlos l'ait compris de toute façon). – paxdiablo

+1

Sans rapport, je suis curieux de savoir pourquoi vous avez choisi d'utiliser Vector au lieu de ArrayList? Y a-t-il du matériel tutoriel qui prône Vector? –

Répondre

9

Le problème avec votre code est que dans l'instruction au lieu de ceci:

  for(String str : v){ 
       System.out.println(v); 
      } 

vous devriez avoir ceci:

  for(String str : v){ 
       System.out.println(str); 
      } 

faisant le code final comme celui-ci:

Vector<String> v = new Vector<String>(); 
      v.add("one"); 
      v.add("two"); 
      v.add("three"); 
      for(String str : v){ 
       System.out.println(str); 
      } 

En termes simples vous donne la valeur v à une chaîne appelée str, puis vous l'imprimez en utilisant System.out.println(...) et cette boucle continuera jusqu'à ce qu'il n'y ait plus d'éléments à partir de v pour imprimer.

Espérons que ça aide.