Java

Résolu
cs_limalima Messages postés 124 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 16 décembre 2010 - 28 avril 2009 à 14:14
cs_MoH008 Messages postés 238 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 29 septembre 2011 - 28 avril 2009 à 14:57
Bonjour à tous,
j'ai un bout de code que je n'ai pas compris, et surtout:  for(int
x= 0; x<10; x++, i
++) pourquoi on a 4 arguments
à l'intérieur de la boucle for?

class

NoGo
implements Runnable {

private
int
i;

public
synchronized
void run() {

if (
i%10 ! = 0) {
i++; }//ici normalement on incrémente i quand i n'est pas un multiple de 10
                                       //donc l'incrementation de i commence à zéro et s'arrete à 10!!,

for(
int x= 0; x<10; x++,
i++)//ici je n'ai pas compris cette boucle avec 4 argument{

if (x == 4) Thread. yield (); }//ici on laisse travailler les autres threadsSystem.

out.print(
i +
" ");}

public
static
void main(String [] args) {

NoGo n =

new NoGo();

for(
int x=0; x<101; x++) {
new Thread(n).start(); }}

}

ce code affiche:

10 20 30 40 50 60 70 80 90 100 110 120 130 140 150...

merci de m'aider

2 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
28 avril 2009 à 14:48
Salut,

Tu n'as pas 4 arguments : tu en as 3 :
int x=0
x<10
ET : x++, i++

Ca veut dire qu'au lieu d'incrémenter 1 variable, tu en incrémente deux.

C'est comme si tu faisait :
for(int x=0; x<10; x++) {
i++;
}
3
cs_MoH008 Messages postés 238 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 29 septembre 2011 1
28 avril 2009 à 14:57
Salut,
concernant "for(int
x=0; x<10; x++, i
++) " cela signifie juste que tu incrémentes i de 1 en à la fin de la boucle c'est tout, comme cela est fait pour x.
Pour le reste comme je n'ai pas d'outils java dispo je ne peux pas trop t'aider...

Cordialement MoH008 ! 
3
Rejoignez-nous