Un bout de code java qui ne marche pas!!!
Résolu
wida
Messages postés
170
Statut
Membre
-
wida Messages postés 170 Statut Membre -
wida Messages postés 170 Statut Membre -
Bonjour,
un morceau de mon code ne marche pas et je ne comprends vraiment pas pourquoi.
Si quelqu'un pourra me trouver l'anomalie, je lui serai très reconnaissante.
voici mon code:
dans ce code quand on passe par le if, il imprime :
d
true
e
f
parcontre lorsqu'on passe par le else, il s'arrête avant d'imprimer le f :
d
l: 1
e
d
l: 2
e
d
Merci d'avance :)
Le rêve n'aboutit à rien, l'action à tout.
(J. FIAUX).
un morceau de mon code ne marche pas et je ne comprends vraiment pas pourquoi.
Si quelqu'un pourra me trouver l'anomalie, je lui serai très reconnaissante.
voici mon code:
int l=0;
while ((!findSRC) || (l>=s)){
System.out.println("d");
if (condition)
{findSRC=true;System.out.println("true");}
else {l++; System.out.println("l: "+l);}
System.out.println("e");
}
System.out.println("f");
}
dans ce code quand on passe par le if, il imprime :
d
true
e
f
parcontre lorsqu'on passe par le else, il s'arrête avant d'imprimer le f :
d
l: 1
e
d
l: 2
e
d
Merci d'avance :)
Le rêve n'aboutit à rien, l'action à tout.
(J. FIAUX).
2 réponses
-
Bonjour,
je ne sais pas pourquoi il n'affiche pas le "f", par contre tu peux ajouter des flush après tes println pour etre sur qu'ils s'affichent dans le bon ordre.
system.out.flush();
https://docs.oracle.com/javase/1.5.0/docs/api/java/io/PrintStream.html#flush%28%29
Au moins tu seras sur de l'ordre d'affichage. Après pour le "f" je cherche encore ><
-
Merci beaucoup Defouille pour ta réponse. Mais voila j'ai trouvé ou c'atait le beug.
En fait je me ss trompé dans la condition du while fallait plutôt faire :while ((!findSRC) || (l<s))
Autrement on se trouve dans une boucle infinit et la condition du if dépend d'un vecteur ayant le l pour indice, donc il s'est bloqué! je me demande pourquoi est ce que je n'ai pas eu l'erreur "out of index"