Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JScoobyCed
Vincent Cantin wrote:
Le code suivant affiche des zeros, pas des 42.
int[] b = new int[3];
for (int i : b) i = 42; // ne modifie pas le contenu du tableau, mais seulement une variable locale :-(
for (int i : b) System.out.println(i);
Euh... J'ai peut-etre mal compris, mais je ne vois pas ou est le piege.
for(int i : b) est le raccourci de for(int i=0; i<b.length; i++) Donc dans la boucle (dans les deux cas), si on fait i = 42, et bien ca ne change que i, pas le contenu du tableau. A moins que vous ne dites que si derriere on fait un: b[i] = 10; le i en question ne vaut pas 42. La effectivement je comprendrais le piege... ou plutot un bug de Tiger (je ne l'ai pas installe ici, je testerai ce soir)
-- JScoobyCed What about a JScooby snack Shaggy ? ... Shaggy ?!
Vincent Cantin wrote:
Le code suivant affiche des zeros, pas des 42.
int[] b = new int[3];
for (int i : b)
i = 42; // ne modifie pas le contenu du tableau, mais seulement une
variable locale :-(
for (int i : b)
System.out.println(i);
Euh... J'ai peut-etre mal compris, mais je ne vois pas ou est le piege.
for(int i : b) est le raccourci de for(int i=0; i<b.length; i++)
Donc dans la boucle (dans les deux cas), si on fait i = 42, et bien ca
ne change que i, pas le contenu du tableau.
A moins que vous ne dites que si derriere on fait un:
b[i] = 10;
le i en question ne vaut pas 42. La effectivement je comprendrais le
piege... ou plutot un bug de Tiger (je ne l'ai pas installe ici, je
testerai ce soir)
--
JScoobyCed
What about a JScooby snack Shaggy ? ... Shaggy ?!
for (int i : b) i = 42; // ne modifie pas le contenu du tableau, mais seulement une variable locale :-(
for (int i : b) System.out.println(i);
Euh... J'ai peut-etre mal compris, mais je ne vois pas ou est le piege.
for(int i : b) est le raccourci de for(int i=0; i<b.length; i++) Donc dans la boucle (dans les deux cas), si on fait i = 42, et bien ca ne change que i, pas le contenu du tableau. A moins que vous ne dites que si derriere on fait un: b[i] = 10; le i en question ne vaut pas 42. La effectivement je comprendrais le piege... ou plutot un bug de Tiger (je ne l'ai pas installe ici, je testerai ce soir)
-- JScoobyCed What about a JScooby snack Shaggy ? ... Shaggy ?!
Vincent Cantin
Le code suivant affiche des zeros, pas des 42.
int[] b = new int[3];
for (int i : b) i = 42; // ne modifie pas le contenu du tableau, mais seulement une variable locale :-(
for (int i : b) System.out.println(i);
Euh... J'ai peut-etre mal compris, mais je ne vois pas ou est le piege.
for(int i : b) est le raccourci de for(int i=0; i<b.length; i++)
Et paf, t'es tombe dans un AUTRE piege :-)
for (int i : b) { ... }
est le raccourci de :
for (int a = 0; a < b.lengh; a++) { int i = b[a]; ... }
Donc dans la boucle (dans les deux cas), si on fait i = 42, et bien ca ne change que i, pas le contenu du tableau. A moins que vous ne dites que si derriere on fait un: b[i] = 10; le i en question ne vaut pas 42. La effectivement je comprendrais le piege... ou plutot un bug de Tiger (je ne l'ai pas installe ici, je testerai ce soir)
Vincent
Le code suivant affiche des zeros, pas des 42.
int[] b = new int[3];
for (int i : b)
i = 42; // ne modifie pas le contenu du tableau, mais seulement
une variable locale :-(
for (int i : b)
System.out.println(i);
Euh... J'ai peut-etre mal compris, mais je ne vois pas ou est le piege.
for(int i : b) est le raccourci de for(int i=0; i<b.length; i++)
Et paf, t'es tombe dans un AUTRE piege :-)
for (int i : b)
{
...
}
est le raccourci de :
for (int a = 0; a < b.lengh; a++)
{
int i = b[a];
...
}
Donc dans la boucle (dans les deux cas), si on fait i = 42, et bien ca ne
change que i, pas le contenu du tableau.
A moins que vous ne dites que si derriere on fait un:
b[i] = 10;
le i en question ne vaut pas 42. La effectivement je comprendrais le
piege... ou plutot un bug de Tiger (je ne l'ai pas installe ici, je
testerai ce soir)
for (int i : b) i = 42; // ne modifie pas le contenu du tableau, mais seulement une variable locale :-(
for (int i : b) System.out.println(i);
Euh... J'ai peut-etre mal compris, mais je ne vois pas ou est le piege.
for(int i : b) est le raccourci de for(int i=0; i<b.length; i++)
Et paf, t'es tombe dans un AUTRE piege :-)
for (int i : b) { ... }
est le raccourci de :
for (int a = 0; a < b.lengh; a++) { int i = b[a]; ... }
Donc dans la boucle (dans les deux cas), si on fait i = 42, et bien ca ne change que i, pas le contenu du tableau. A moins que vous ne dites que si derriere on fait un: b[i] = 10; le i en question ne vaut pas 42. La effectivement je comprendrais le piege... ou plutot un bug de Tiger (je ne l'ai pas installe ici, je testerai ce soir)
Vincent
Isammoc
Euh... J'ai peut-etre mal compris, mais je ne vois pas ou est le piege.
for(int i : b) est le raccourci de for(int i=0; i<b.length; i++)
Et paf, t'es tombe dans un AUTRE piege :-)
for (int i : b) { ... }
est le raccourci de :
for (int a = 0; a < b.lengh; a++) { int i = b[a]; ... }
Ca, je ne le savais pas... Mais par contre, tu as oublié que les int, ce sont des variables directs, et non des références...
Vincent
Isammoc
Euh... J'ai peut-etre mal compris, mais je ne vois pas ou est le
piege.
for(int i : b) est le raccourci de for(int i=0; i<b.length; i++)
Et paf, t'es tombe dans un AUTRE piege :-)
for (int i : b)
{
...
}
est le raccourci de :
for (int a = 0; a < b.lengh; a++)
{
int i = b[a];
...
}
Ca, je ne le savais pas... Mais par contre, tu as oublié que les int, ce
sont des variables directs, et non des références...
Euh... J'ai peut-etre mal compris, mais je ne vois pas ou est le piege.
for(int i : b) est le raccourci de for(int i=0; i<b.length; i++)
Et paf, t'es tombe dans un AUTRE piege :-)
for (int i : b) { ... }
est le raccourci de :
for (int a = 0; a < b.lengh; a++) { int i = b[a]; ... }
Ca, je ne le savais pas... Mais par contre, tu as oubli?que les int, ce sont des variables directs, et non des références...
En fait non, je n'ai pas oublie, et ca serait la meme chose si c'etait un tableau d'objet ... le tableau ne serait pas modifie.
En tous cas, pour ici, ca se comprend...
for (int a = 0; a < b.lengh; a++) { int i = b[a]; i = 42; }
Si tu fais ca, ca ne change pas les valeurs de b[a]...
Vincent YSMAL
"Isammoc" <Isammoc(no-spam)@wanadoo.fr> a écrit dans le message de news:
"Vincent Cantin" écrivait news::
Euh... J'ai peut-etre mal compris, mais je ne vois pas ou est le piege.
for(int i : b) est le raccourci de for(int i=0; i<b.length; i++)
Et paf, t'es tombe dans un AUTRE piege :-)
for (int i : b) { ... }
est le raccourci de :
for (int a = 0; a < b.lengh; a++) { int i = b[a]; ... }
Ca, je ne le savais pas... Mais par contre, tu as oubli?que les int, ce sont des variables directs, et non des références...
En fait non, je n'ai pas oublie, et ca serait la meme chose si c'etait un tableau d'objet ... le tableau ne serait pas modifie.
En tous cas, pour ici, ca se comprend...
for (int a = 0; a < b.lengh; a++) { int i = b[a]; i = 42; }
Si tu fais ca, ca ne change pas les valeurs de b[a]...
Bonjour, je me permet de donner un petit point de vue .... Cet exemple me conforte dans l'idée que je n'aime pas les "raccourcis" quand on écrit le code. Pourquoi écrire : for (int i : b) que tout le monde ne comprends pas, et dont visiblement il faut se méfier du fait de "pieges" diront nous. Au lieu de for (int a = 0; a < b.lengh; a++) { int i = b[a]; } que j'espère tout le monde comprends, et ou à ma connaissance, il n'y a pas de piège.
Voila, je sais que ce que je dis, n'a pas forcement avoir avec le sujet ... mais bon. Bonne journée à toutes et à tous.
"Isammoc" <Isammoc(no-spam)@wanadoo.fr> a écrit dans le message de news:
XnF958E868347BFFIsammoc@193.48.70.4...
Euh... J'ai peut-etre mal compris, mais je ne vois pas ou est le
piege.
for(int i : b) est le raccourci de for(int i=0; i<b.length; i++)
Et paf, t'es tombe dans un AUTRE piege :-)
for (int i : b)
{
...
}
est le raccourci de :
for (int a = 0; a < b.lengh; a++)
{
int i = b[a];
...
}
Ca, je ne le savais pas... Mais par contre, tu as oubli?que les int,
ce sont des variables directs, et non des références...
En fait non, je n'ai pas oublie, et ca serait la meme chose si c'etait
un tableau d'objet ... le tableau ne serait pas modifie.
En tous cas, pour ici, ca se comprend...
for (int a = 0; a < b.lengh; a++)
{
int i = b[a];
i = 42;
}
Si tu fais ca, ca ne change pas les valeurs de b[a]...
Bonjour,
je me permet de donner un petit point de vue ....
Cet exemple me conforte dans l'idée que je n'aime pas les "raccourcis" quand
on écrit le code.
Pourquoi écrire :
for (int i : b)
que tout le monde ne comprends pas, et dont visiblement il faut se méfier du
fait de "pieges" diront nous.
Au lieu de
for (int a = 0; a < b.lengh; a++)
{
int i = b[a];
}
que j'espère tout le monde comprends, et ou à ma connaissance, il n'y a pas
de piège.
Voila, je sais que ce que je dis, n'a pas forcement avoir avec le sujet ...
mais bon.
Bonne journée à toutes et à tous.
"Isammoc" <Isammoc(no-spam)@wanadoo.fr> a écrit dans le message de news:
"Vincent Cantin" écrivait news::
Euh... J'ai peut-etre mal compris, mais je ne vois pas ou est le piege.
for(int i : b) est le raccourci de for(int i=0; i<b.length; i++)
Et paf, t'es tombe dans un AUTRE piege :-)
for (int i : b) { ... }
est le raccourci de :
for (int a = 0; a < b.lengh; a++) { int i = b[a]; ... }
Ca, je ne le savais pas... Mais par contre, tu as oubli?que les int, ce sont des variables directs, et non des références...
En fait non, je n'ai pas oublie, et ca serait la meme chose si c'etait un tableau d'objet ... le tableau ne serait pas modifie.
En tous cas, pour ici, ca se comprend...
for (int a = 0; a < b.lengh; a++) { int i = b[a]; i = 42; }
Si tu fais ca, ca ne change pas les valeurs de b[a]...
Bonjour, je me permet de donner un petit point de vue .... Cet exemple me conforte dans l'idée que je n'aime pas les "raccourcis" quand on écrit le code. Pourquoi écrire : for (int i : b) que tout le monde ne comprends pas, et dont visiblement il faut se méfier du fait de "pieges" diront nous. Au lieu de for (int a = 0; a < b.lengh; a++) { int i = b[a]; } que j'espère tout le monde comprends, et ou à ma connaissance, il n'y a pas de piège.
Voila, je sais que ce que je dis, n'a pas forcement avoir avec le sujet ... mais bon. Bonne journée à toutes et à tous.