Utiliser le OU dans une boucle while

Résolu
yannOpenGL Messages postés 141 Date d'inscription samedi 4 février 2012 Statut Membre Dernière intervention 3 avril 2013 - 21 juin 2012 à 11:26
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 - 21 juin 2012 à 12:32
Bonjour,

j'ai un problème avec un OU dans une boucle do...while. J'ai essayé de mettre || mais ça ne marche pas alors que ça marche très bien si je ne mets qu'une condition.

do
{
        //  traitement...
k++;
}
while(contenuFichier[i+k].equals("blablabla") == false 
            || contenuConfig[i+k].equals("toto") == false);


Savez-vous comment il faut faire ?

5 réponses

cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 24
21 juin 2012 à 12:01
Bonjour.
Je pense que dans ta condition c'est un ET (&&) qu'il te faut.
3
yannOpenGL Messages postés 141 Date d'inscription samedi 4 février 2012 Statut Membre Dernière intervention 3 avril 2013
21 juin 2012 à 12:11
Je pense qu'il s'agit bien d'un où.

Je veux que le traitement s'arrête dès qu'il y a soit la ligne "blablabla" soit la ligne "toto".
Il faut qu'il s'arrête dans les deux cas.
0
yannOpenGL Messages postés 141 Date d'inscription samedi 4 février 2012 Statut Membre Dernière intervention 3 avril 2013
21 juin 2012 à 12:14
En fait tu avais raison mais je ne comprend toujours pas pourquoi.
Il y a quelque chose qui m'échappe.

Si je mets &&, le traitement ne devrait pas continuer tant que les 2 conditions ne sont pas validées ?
0
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 12
21 juin 2012 à 12:30
Salut,

ben cela dépend de ce que tu veux comme condition...

//tant que la variable n'est pas à blablabla ou à toto
while( !contenuFichier[i+k].equals("blablabla") || !contenuConfig[i+k].equals("toto")) {
   ...
}


perso pour cette condition je mettrai plutot un && (ET) à la place du ||
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 12
21 juin 2012 à 12:32
les conditions vont se completer...

//tant que la variable n'est pas à blablabla ou à toto
while( !contenuFichier[i+k].equals("blablabla") || !contenuConfig[i+k].equals("toto")) {
   ...
}
while( false || false) {
   ...
}
while( false ) {
   ...
}

ou

//tant que la variable n'est pas à blablabla ou à toto
while( !contenuFichier[i+k].equals("blablabla") || !contenuConfig[i+k].equals("toto")) {
   ...
}
while( true || false) {
   ...
}
while( true) {
   ...
}


c'est de la logique boolean quoi...
0