Java : une boucle for avec un i qui saute.. ?
Bonjour,
Je souhaiterais faire une boucle for comme tout le monde les connaît, mais au lieu d'avoir une dé/in.crémentation de ma variable, je veux "choisir" sa valeur dans une énumération ou un tableau.
Pour faire plus clair, je veux que ma variable soit d'abord "Lundi", puis "Mardi", etc... et pas "1, 2... 7"
Donc j'exclus le :
Je souhaiterais donc un truc du style :
Mais je me doute bien que ce n'est pas ça. Peut être avec un while ?
Toute idée est la bienvenue. En vous remerciant par avance !
Je souhaiterais faire une boucle for comme tout le monde les connaît, mais au lieu d'avoir une dé/in.crémentation de ma variable, je veux "choisir" sa valeur dans une énumération ou un tableau.
Pour faire plus clair, je veux que ma variable soit d'abord "Lundi", puis "Mardi", etc... et pas "1, 2... 7"
Donc j'exclus le :
for (int i=1;i<=7;i++) {}
Je souhaiterais donc un truc du style :
for (i="Lundi";i="Mardi"...) {}
Mais je me doute bien que ce n'est pas ça. Peut être avec un while ?
Toute idée est la bienvenue. En vous remerciant par avance !
Configuration: Linux Firefox 2.0.0.14
6 réponses
-
Bonjour,
En java 1.5 et ultérieur :
public class Test { public enum Jour { Lundi, Mardi, Mercredi, Jeudi, Vendredi, Samedi, Dimanche } public static void main(String[] args) { for (Jour j : Jour.values()) { System.out.println("j=" + j); } } }
Bon courage -
Salut,
Avec Java 6 (et bientôt bien plus avec Java 7) les possibilités s'élargissent; en effet, on peut utiliser les énumérations même dans des switch..case. Exemple:package tests; public class EnumTest { public enum Jours { lundi, mardi, mercredi }; /** * @param args */ public static void main(String[] args) { Jours jour = Jours.mardi; switch (jour) { case lundi: System.out.println("chuis lundi"); break; case mardi: System.out.println("chuis mardi"); break; case mercredi: System.out.println("chuis mercredi"); break; } } }
HTH,
++ -
ContributeurCa dépend aussi de ce qu'il veut faire.
-
-
@sandulOui mais le switch ne te permet pas d'implémenter une boucle parcourant chaque élément mais simplement d'en choisir un
Il te faudra faire chaque valeur à la main.
-
-
Avec for-each tu peux faire ca :
import java.util.ArrayList; import java.util.List; public class ForEachExample { public static void main(String[] args) { List<String> jours = new ArrayList<String>(); jours.add("Lundi"); jours.add("Mardi"); jours.add("Mercredi"); jours.add("Jeudi"); jours.add("Vendredi"); jours.add("Samedi"); jours.add("Dimanche"); for (String jour : jours) { System.out.println("Jour: " + jour); } } } -
par rapport a ta demande... le mieu c'est ce qu'a dis goulamass:
String jour;
for (int i=0;i<7;i++)
{
if(i==0)
{
jour="Lundi";
}
if(i==1)
{
jour="Mardi";
}
etc.... -
Bonjour,
Tu peux pas.
Cependant tu faux faire un truc du style :
String jour;
for (int i=0;i<7;i++)
{
if(i==0)
{
jour="Lundi";
}
if(i==1)
{
jour="Mardi";
}
etc....
}