IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Plusieurs conditions pour le If ne fonctionne pas.


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut Plusieurs conditions pour le If ne fonctionne pas.
    Bonjour,

    J'essaie de mettre plusieurs conditions à un IF mais ça ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (choixBoisson != 1) || (choixBoisson != 2) || (choixBoisson != 3) ||(choixBoisson != 4) || (choixBoisson != 5)
    Il me donne ce message d'erreur :

    Illegal strat of expression
    Pourriez-vous me dire comment régler ce problème ?

    Merci d'avance.

    Beegees

  2. #2
    Membre expérimenté Avatar de Sebou77
    Inscrit en
    Mars 2006
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2006
    Messages : 212
    Par défaut
    il te manque une parenthèse englobant le tout

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ((choixBoisson != 1) || (choixBoisson != 2) || (choixBoisson != 3) ||(choixBoisson != 4) || (choixBoisson != 5))

  3. #3
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    De plus, il faut remplacer || par &&

  4. #4
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Bonjour et merci à vous deux pour vos réponses.

    Pour ce qui est des (), c'est nikel, ça fonctionne.

    Par contre je ne comprends pas pourquoi remplacer les || par des && ?

    Ce que je dis c'est :

    Si choixboisson est différent de 1 OU si choixBoisson est différent de 2.... alors
    Avec ton et ça donnerait :

    Si choixboisson est différent de 1 ET si choixBoisson est différent de 2.... alors
    Y'a t'il une grosse différence entre les deux ?

    Merci
    beegees

  5. #5
    Membre éprouvé
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Par défaut
    Bin oui qu'il y a une différence... Dans le deuxième cas, pour que la condition passe, choixboission devra être différent de 1 ET de 2. Donc si c'est 1, c'est pas bon. Si c'est 2, c'est pas bon. Dans le premier cas, choixboisson devra être différent de 1 OU de 2. Donc, première partie de la condition, ton programme arrive et dit "tiens, choixboission = 2, c'est donc != 1, donc parfait. Attends, après il y a quoi ? OU, donc on s'en fout". Puisque la première condition est rempli, il ne regarde pas l'autre ! Dans la cas de ET, il DEVRA vérifié les 2 conditions.

  6. #6
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    [QUOTE=beegees]Y'a t'il une grosse différence entre les deux ?
    Oui puisqu'avec des OU ta conditions sera TOUJOURS vrai : n'importe quel valeur sera forcément différente de 1 OU de 2...

    Il faudrait savoir ce que tu veux faire avec cette condition. De plus je pense que tu pourrais utiliser les opérateur de comparaison < et >

    a++

  7. #7
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Merci à vous deux pour vos réponses.

    Il faut donc utiliser le &&, je le ferai.

    J'ai quand même un problème.

    L'utilisateur doit choisir une boisson :

    1 Coca Cola
    2 Coca Cola Light
    3 Fanta
    4 Sprite
    5 Eau

    Il ne peut rien choisir d'autre.

    Je fais donc :

    do
    {
    System.out.println("Votre choix :");
    choixBoisson = Clavier.lireInt();



    }

    while ((choixBoisson == 1) && (choixBoisson ==2 ) && (choixBoisson ==3) && (choixBoisson == 4) && (choixBoisson ==5));
    Si je choisis un chiffre supérieur à 5 (7 par exemple) il le prend quand même en considération, et vue que le prix de ces boisssons sont dans un tableau, il y'a dépassement de capacité.

    Pourriez-vous me dire où j'ai fais l'erreur ?

    Merci d'avance.

    beegees

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Macro avec plusieurs conditions pour ouverture formulaire
    Par Jacques-Henri dans le forum IHM
    Réponses: 2
    Dernier message: 05/08/2008, 22h44
  2. condition (if/else) qui ne fonctionne pas
    Par oceane751 dans le forum Langage
    Réponses: 8
    Dernier message: 24/07/2007, 23h58
  3. Mettre plusieurs conditions pour ouverture d'un état
    Par L'Oracle dans le forum Access
    Réponses: 2
    Dernier message: 01/07/2006, 15h33
  4. Macro pour une impression ne fonctionne pas
    Par aujero dans le forum Access
    Réponses: 2
    Dernier message: 01/06/2006, 17h23
  5. * du SQL pour un INT ? % ne fonctionne pas...
    Par Allen dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 26/04/2006, 11h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo