QUESTION: Étant donné un tableau String de noms de pokémon:
public static void main(String[] args) { String[] pokemon= {"Bulbsaur","Squirtle","Weedle","Pidgey","Rattata"}; int i=0; while(i<pokemon.length) { System.out.println(pokemon[i]); i++; } }
a) En utilisant une boucle WHILE, écrivez le code pour afficher les noms de pokémon comme indiqué
sortie: strong>
Rattata
Pidgey
Weedle
Squirtle
Bulbsaur
(c'est dans l'ordre ci-dessus)
J'essaye aussi la question:
String[] pokemon={"Bulbsaur","Squirtle","Weedle","Pidgey","Rattata"};
Tout ce que je veux savoir, c'est que comment organiser la valeur comme l'ordre de sortie. Je sais que je peux simplement changer de position, mais je ne pense pas que la question dit que je peux le faire.
Merci de votre aide!
4 Réponses :
Répétez simplement le tableau à l'envers et imprimez:
String[] pokemon= {"Bulbsaur","Squirtle","Weedle","Pidgey","Rattata"}; int len = pokemon.length; for (int i=0; i < pokemon.length/2; ++i) { String temp = pokemon[i]; pokemon[i] = pokemon[len-1-i]; pokemon[len-1-i] = temp; }
Si vous aviez réellement besoin d'inverser l'ordre dans votre tableau Pokemon, alors je vous suggère de faire un échange sur place:
String[] pokemon= {"Bulbsaur","Squirtle","Weedle","Pidgey","Rattata"}; int i = pokemon.length - 1; while (i >= 0) { System.out.println(pokemon[i--]); }
(Ou, itérer vers l'avant mais afficher pokemon [pokemon.length-1-i]
).
Notez que la question dit boucle while.
@AndyTurner Answer mis à jour, comprenant également une option pour inverser réellement l'ordre des noms de Pokémon dans le tableau.
La sortie est juste imprimée le tableau d'origine à l'envers.
Pour inverser le tableau en utilisant la boucle while, procédez comme suit.
public static void main(String[] args) { String[] pokemon= {"Bulbsaur","Squirtle","Weedle","Pidgey","Rattata"}; int i=pokemon.length; while(i > 0) { System.out.println(pokemon[i-1]); i--; } }
Pour imprimer le tableau à l'envers, vous doivent commencer du dernier élément au premier élément. Le dernier élément sera pokemon [pokemon.length - 1]
et le premier élément sera pokemon[0ITED
En plus de l'itération avec un index explicite, vous pouvez créer un ListIterator
sur le tableau, puis utilisez-le pour itérer votre tableau à l'envers. Comme,
String[] pokemon = { "Bulbsaur", "Squirtle", "Weedle", "Pidgey", "Rattata" }; List<String> list = Arrays.asList(pokemon); Collections.reverse(list); Iterator<String> iter = list.iterator(); while (iter.hasNext()) { System.out.println(iter.next()); }
Sorties (comme demandé)
Rattata Pidgey Weedle Squirtle Bulbsaur
Une autre option serait de créer une Liste
de noms et inversez-le, puis répétez-le normalement. Comme,
String[] pokemon = { "Bulbsaur", "Squirtle", "Weedle", "Pidgey", "Rattata" }; ListIterator<String> iter = Arrays.asList(pokemon).listIterator(pokemon.length); while (iter.hasPrevious()) { System.out.println(iter.previous()); }
public static void main(String[] args) { String[] pokemon={"Bulbsaur","Squirtle", "Weedle","Pidgey","Rattata"}; for(int i=pokemon.length;i > 0;i--) { System.out.println(pokemon[i-1]); } }