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

avec Java Discussion :

Contrôle des entrées clavier


Sujet :

avec Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Août 2008
    Messages : 45
    Points : 45
    Points
    45
    Par défaut Contrôle des entrées clavier
    Bonjour à tous, je débute en programmation java et j'aurai une petite question concernant les contrôle de saisies clavier.
    Alors dans mon programme je demande à l'utilisateur de saisir un entier > 0.
    Je voulais donc savoir comment contrôler que c'est bien un entier, si ce n'est pas le cas (caractère ou nbrs < 0) dans ce cas lui indiquer de saisir un entier.
    Pour lui signifier je pensais mettre ça dans une boucle while comme ça tant qu'il n'a pas entré un entier le programme lui demande de saisir un entier.
    ça je l'ai bien compris, le seul hic est que je ne sais comment contrôler les valeur saisies au clavier.
    Un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Int nbrSaisi
        nbrSaisi = valeur lu au clavier 
    While (nbrSaisi != int || nbrSaisi < 0) 
    {
          //demander la saisie d'un entier
    }
    j'espère avoir exprimé clairement mon problème.
    Merci par avance pour vos réponse. THOMAS

  2. #2
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Pour lire les valeurs entrée au clavier tu peux utiliser la classe Scanner.
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Août 2008
    Messages : 45
    Points : 45
    Points
    45
    Par défaut
    effectivement bien que je passe par des classes créées par le prof
    Terminal.ecrireInt()
    ou
    Terminal.lireInt()

    le problème est comment je peux contrôler que c'est bien un entier qui est entréé et non un caractère par exemple.
    Ce que je veux faire c'est si la valeur entrée est un caractère dans ce cas je demande à l'utilisateur de saisir un entier et non du caractère.
    merci par avance THOMAS

  4. #4
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Il faudrait voir comment se comporte la méthode lireInt dans le cas ou on ne saisie pas un entier. Fais le test.
    Si elle oblige l'utilisateur à saisir un nouvel entier tu n'a rien a faire, si elle envoi une exception il faut que tu la catch et que tu réappele la méthode.
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Août 2008
    Messages : 45
    Points : 45
    Points
    45
    Par défaut
    effectivement voila ce que j'obtiens si je saisi un caractère

    Exception in thread "main" TerminalException
    at Terminal.exceptionHandler(Terminal.java:115)
    at Terminal.lireInt(Terminal.java:25)
    at devoir1.main(devoir1.java:21)
    qu'est ce que sait faire un catch ? désolé ma question est peut etre bête mais comme ç'est mes debut avec java et la programmation.

    Merci par avance THOMAS

  6. #6
    Expert confirmé
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Points : 4 015
    Points
    4 015
    Par défaut
    Bonjour
    il n'y a pas de question bête peut être juste que tu aurais dû faire un peu de recherche sur le forum ou sur le site
    Voila http://jmdoudoux.developpez.com/cour...ion_exceptions pour t'aider a comprendre.

    Cordialement
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Août 2008
    Messages : 45
    Points : 45
    Points
    45
    Par défaut
    Oui c'est vrai mais je ne conaissais pas le terme d'exception donc je n'arrivais pas à m'exprimer et me faire comprendre lolll désolé.
    Par contre existe t'il une autre méthode que la gestion des excptions pour ce genre de problème ? Car en fait on a pas vu les exceptions encore.
    Merci par avance THOMAS.

  8. #8
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    La classe que tu utilise génère une exception si tu ne saisie pas d'entier donc dans tout les cas il faut que tu traite cette exception sous peine que ton programme s'arrête si la personne ne saisie pas un entier. Quitte à la traiter autant s'en servir pour faire ton traitement.
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

Discussions similaires

  1. Interception des entrées Clavier
    Par Cjvg2 dans le forum Contribuez
    Réponses: 0
    Dernier message: 21/07/2011, 09h55
  2. Gestion des entrées clavier
    Par piotrr dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 20/10/2007, 11h59
  3. Contrôle des LEDS clavier
    Par j0o0 dans le forum C
    Réponses: 9
    Dernier message: 30/08/2007, 18h50
  4. Réponses: 7
    Dernier message: 19/04/2007, 13h33
  5. Contrôle des entrées -> on doit coder?
    Par thibouille dans le forum C++
    Réponses: 2
    Dernier message: 23/10/2005, 20h59

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