OVH Cloud OVH Cloud

while imbriqué

2 réponses
Avatar
Jean Marc
le code suivant est supposé du moins je l'espérais parcourir un
ensemble de données et ecrire chaque champs de cet ensemble sur la
sortie systeme

while (rs.next()) {

while(STK.hasMoreTokens()){line = rs.getString(STK.nextToken())
+";"+rs.getString(STK.nextToken()); }
System.out.println(line);
}

Et bien non, la ou je croyais obtenir
1;2
3;4

j'ai en fait
1;2
1;2

pourquoi ?

--
Vous aussi ! http://mesnews.no-ip.com

2 réponses

Avatar
Unknown
while (rs.next()) {

while(STK.hasMoreTokens()){line = rs.getString(STK.nextToken())
+";"+rs.getString(STK.nextToken()); }
System.out.println(line);
}
pourquoi ?


ton STK n'est jamais réinitialisé dans le while.
en lus ton code est dangereux car à faire 2 STK.nextToken() dans la même
itération ca veut dire que tu es sur d'avoir un nombre pair de token ce
qui si ce n'est pas le cas fera planter ton code

Avatar
Jean Marc
while (rs.next()) {

while(STK.hasMoreTokens()){line = rs.getString(STK.nextToken())
+";"+rs.getString(STK.nextToken()); }
System.out.println(line);
}
pourquoi ?


ton STK n'est jamais réinitialisé dans le while.
en lus ton code est dangereux car à faire 2 STK.nextToken() dans la même
itération ca veut dire que tu es sur d'avoir un nombre pair de token ce
qui si ce n'est pas le cas fera planter ton code


Merci, j'ai fini (apres avoir posté) par comprendre le soucis.
Un stringToken ne peut donc pas etre utilisé de cette façon...je suis
passé par un vector et ça roule.

Merci de la réponse en tout cas :)

--
Vous aussi ! http://mesnews.no-ip.com