Problème boucle while en java
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Problème boucle while en java



  1. #1
    thundertom

    Problème boucle while en java


    ------

    Bonjour,

    J'ai un petit soucis avec une boucle while dans un petit programme en java. J'entre un char au clavier et tant que ce char n'est pas p ou i, je souhaite rester dans ma boucle. le seul soucis c'est que même en entrant p ou i au clavier je ne sors pas de ma boucle. Bien que la saisie clavier fonctionne très bien.
    Ma boucle est la suivante:
    while((parity!='p')||(parity!= 'i'))

    Alors est-ce qu'il y à une erreur dans le test de ma boucle?
    Pour info, j'utilise JCreator pour mes programmes.

    Voilà je remercie d'ores et déjà les personne qui prendront le temps de m'aider.

    -----

  2. #2
    poly71

    Re : Problème boucle while en java

    Bonjour,

    Je ne vois pas de problème dans ta condition, par contre, il faut regarder du côté de la façon dont la variable parity (de type char) est renseignée par ce que tu frappe au clavier.

    Par ailleurs, ne faut-il pas taper sur "entrée" après avoir frappé ton caractère ?

  3. #3
    invite6754323456711
    Invité

    Re : Problème boucle while en java

    Bonjour,

    Un petit exemple de code
    Code:
    import java.util.Scanner;
    public class HelloWorldApp {
        static char carac;
        static Scanner sc;
        static String str;
        public static void main(String[] args) {
            while (carac != 'p') {
                System.out.println("Saisissez une lettre :");
                sc = new Scanner(System.in);
                str = sc.nextLine();
                carac = str.charAt(0);
                System.out.println("Vous avez saisi le caractère : " + carac);
            } 
            System.out.println("fin de boucle");
        }
    }
    Comment le fait remarqué poly71 il faut taper sur entrée après avoir saisi le caractère.

    Patrick

  4. #4
    invite72477e4c

    Re : Problème boucle while en java

    Essayez le && au lieu du ||

  5. A voir en vidéo sur Futura
  6. #5
    thundertom

    Re : Problème boucle while en java

    J'ai remarqué que je m'éttais trompé au niveau du || je l'ai remplacé par un &&

    Dans ma boucle j'avait seulement: parity=clavier.next()charAT(0) ;

    Et bien entendu je presse entrer pour "valider" mon caractère. Donc avec cette boucle, meme en entrant p, je ne sortais pas de ma boucle. Mais en ajoutant une ligne de plus à l'interieur de ma boucle, miracle ça fonctionne. Don visiblement mon compilateur n'est pas daccord qu'il n'y ait qu'une seule ligne de code à l'intérieur d'une boucle.

  7. #6
    whoami

    Re : Problème boucle while en java

    Bonjour,
    Citation Envoyé par thundertom Voir le message
    J'ai remarqué que je m'éttais trompé au niveau du || je l'ai remplacé par un &&

    Dans ma boucle j'avait seulement: parity=clavier.next()charAT(0) ;

    Et bien entendu je presse entrer pour "valider" mon caractère. Donc avec cette boucle, meme en entrant p, je ne sortais pas de ma boucle. Mais en ajoutant une ligne de plus à l'interieur de ma boucle, miracle ça fonctionne. Don visiblement mon compilateur n'est pas daccord qu'il n'y ait qu'une seule ligne de code à l'intérieur d'une boucle.
    Ça, c'est du grand n'importe quoi.

    Montre-nous les 2 versions successives exactes de ton code.

  8. #7
    thundertom

    Re : Problème boucle while en java

    Cette version fonctionne:

    while((parity!='p')&&(parity!= 'i')&&(parity!='P')&&(parity!= 'I'))
    {
    System.out.println("Veuillez entrer le type de paritée que vous souhaitez (P pour parire et I pour impaire)");
    parity=clavier.next().charAt(0 );
    }

    Cette version ne fonctionne pas:

    while((parity!='p')&&(parity!= 'i')&&(parity!='P')&&(parity!= 'I'))
    {
    parity=clavier.next().charAt(0 );
    }

  9. #8
    Jack
    Modérateur

    Re : Problème boucle while en java

    Utilise la balise "code" pour présenter du code.

    Sinon, je ne comprends pas comment tu peux faire un while qui teste ta variable parity alors que celle-ci n'a pas encore été affectée d'une valeur au préalable.

    A+

  10. #9
    thundertom

    Re : Problème boucle while en java

    Hum oui désolé pour le code c'est que en mettant seulement réponse rapide je n'avait pas la balise disponible et je n'ai pas pensé à allé voir plus loin.
    Bien entendu lors de ma déclaration de variable, je l'initialise à une "valeur" qui n'est ni 'p',ni 'i'.
    Je vais vite contrôler si cette affectation n'est pas mal faite
    Dernière modification par thundertom ; 23/10/2009 à 17h00.

Discussions similaires

  1. Langage C : problème dans une boucle
    Par invitedba13d1f dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 25/05/2009, 10h48
  2. Matlab : Problème de format dans boucle
    Par invite2d9939ba dans le forum Logiciel - Software - Open Source
    Réponses: 7
    Dernier message: 03/04/2008, 11h15
  3. probleme d'indexage de boucle for avec matlab
    Par invitec45730b2 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 23/10/2007, 02h32
  4. Problème Langage C Sorte de Boucle
    Par invite3e43df7f dans le forum Logiciel - Software - Open Source
    Réponses: 19
    Dernier message: 18/01/2006, 20h17
  5. Probleme de boucle FOR-Next
    Par zanzeoo dans le forum Électronique
    Réponses: 8
    Dernier message: 17/08/2004, 12h25
Découvrez nos comparatifs produits sur l'informatique et les technologies.