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

JavaScript Discussion :

Une boucle infini


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 68
    Points : 38
    Points
    38
    Par défaut Une boucle infini
    Bonjour tout le monde !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var num = prompt('saisir le numero');
    while(num != 1 || num != 2 || num != 3)
    {
    alert('saisir 1,2 ou 3');
    num = prompt('saisir le numero');
    }
    Pourquoi une boucle infini ???

    Je seche....

  2. #2
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 206
    Points : 849
    Points
    849
    Par défaut
    Tu testes num contre des entier mais num est une chaîne de caractères.

    Essaie : while(num != '1' || num != '2' || num != '3')

    Jérôme

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 68
    Points : 38
    Points
    38
    Par défaut
    Sa ne marche toujours pas, mon probleme c'est que je veux que num soit un entier et le comparer a d'autre entier (pas de chaine la dedans )

    Merci quand meme

  4. #4
    Membre averti Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Points : 305
    Points
    305
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while(num != 1 && num != 2 && num != 3)
    Et de toute facon pour Javascript : 1 == '1' == "1" == true

    Par contre 1 === '1' est faux

  5. #5
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    essaye :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    num = parseInt(prompt('saisir le numero'));
    var ok = false ;
    	if((num != 1) | (num != 2) | (num != 3))
    	{
    		ok = true;
    	}
    while(ok != true)
    {
    	alert('saisir 1,2 ou 3');
    	num = parseInt(prompt('saisir le numero'));
    	if((num != 1) | (num != 2) | (num != 3))
    	{
    		ok = true;
    	}
    }
    alert("ok");

  6. #6
    Membre averti Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Points : 305
    Points
    305
    Par défaut
    Effectivement pourquoi faire simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while(num != 1 && num != 2 && num != 3)
    quand on peut faire compliqué

  7. #7
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    Effectivement cela marche

    pourtant la condition que je vois je l'interprète comme ça :

    tant que num différent de 1 ET num différent 2 ET num différent 3 ...

    bizare

  8. #8
    Membre averti Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Points : 305
    Points
    305
    Par défaut
    Ben non y'a rien de bizarre.

    Si num vaut 2 par exemple.

    La condition (num != 1 || num != 2 || num != 3) faut true car num != 1 est vrai donc pas la peine d'évaluer le reste car forcément true || X vaut true.

    De même false && X vaut tjs false, pas la peine d'évaluer X

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 68
    Points : 38
    Points
    38
    Par défaut
    Oui, difficile de suivre ton raisonnement Bezout mais finalement c'est le plus
    logique (Toujours eu du mal avec le ET et les OU).
    En tout cas sa marche merci a tout les deux

    ++

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

Discussions similaires

  1. Réponses: 18
    Dernier message: 26/04/2006, 11h39
  2. Une boucle infinie crontab
    Par tsing dans le forum Administration système
    Réponses: 10
    Dernier message: 10/04/2006, 10h28
  3. Select qui fais une boucle infinie
    Par MaitrePylos dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 28/03/2006, 17h29
  4. Réponses: 10
    Dernier message: 24/12/2005, 15h35
  5. [FTP] comment corriger une boucle infinie ?
    Par sofybj dans le forum Langage
    Réponses: 8
    Dernier message: 08/11/2005, 14h49

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