Rechercher : dans
Par :

Java : une boucle for avec un i qui saute.. ?

Dernière réponse le 10 jun 2008 à 16:45:35 Pouzy, le 5 jun 2008 à 17:35:09 
 Signaler ce message aux modérateurs

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 :

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

Meilleures réponses pour « Java : une boucle for avec un i qui saute.. ? » dans :
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
Java: Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditonnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...
Javascript - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditonnelle les instructions qui permettent de tester si une condition est vraie ou non, ce qui permet notamment de donner de l'interactivité à vos scripts. L'instruction...
Langage C++ - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...

1

goulamass, le 5 jun 2008 à 17:44:15

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....
}

Répondre à goulamass

2

sandul, le 5 jun 2008 à 19:33:16

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,
++

Répondre à sandul

3

arth, le 5 jun 2008 à 19:43:10

Ca dépend aussi de ce qu'il veut faire.
Le loup, solitaire et mystérieux.

Répondre à arth

4

sandul, le 5 jun 2008 à 19:47:25

Salut arth,

Oui, bien sûr, c'était juste un exemple d'itération avec une boucle sans utiliser un entier pour le compteur.

++

Répondre à sandul

5

goulamass, le 6 jun 2008 à 09:42:23

Oui 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.

Répondre à goulamass

6

zek27, le 6 jun 2008 à 10:16:02

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....

Répondre à zek27

7

 Jres, le 10 jun 2008 à 16:45:35

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

Répondre à Jres