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

Entrée/Sortie Java Discussion :

Erreur avec Scanner


Sujet :

Entrée/Sortie Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Services de proximité

    Informations forums :
    Inscription : Mars 2011
    Messages : 19
    Points : 16
    Points
    16
    Par défaut Erreur avec Scanner
    Bonjour à tous,

    j'ai écrit le bout de code suivant dont le but est de demander à l'user de choisir une couleur , mais lors de l'exécution j'ai le massage d'erreur suivant :
    Exception in thread "main" java.util.NoSuchElementException: No line found
    at java.util.Scanner.nextLine(Unknown Source)



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Scanner clavier=new Scanner(System.in);
    System.out.println("Choisir la couleur de remplissage :");
    String couleur= clavier.nextLine();

    MERCI d'avance pour vos réponses

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    ce petit bout de code devrait en principe lire une ligne sans erreur.

    En principe, mais bon ça dépend de beaucoup de choses.

    Pour commencer tu devrais nous montrer ton programme en entier. Pas juste ces trois lignes, tout ton programme, du début à la fin, sans rien oublier du tout.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Services de proximité

    Informations forums :
    Inscription : Mars 2011
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    merci pour votre retour, voici mon code qui se bloque sur la ligne" int choix= clavier.nextInt(); " quand j'essaie de récupérer le choix 1 ou 2 :

    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
    18
    19
    20
    21
    public class Test {
    	private static Scanner scan;
     
    	public static  void main(String[] args) {
    		LireFichier.lireDoc();
    		System.out.println("Veuillez choisir le type de graphique que vous voulez :");
    		clavier = new Scanner(System.in);
    			System.out.println("1-Représentation en courbe");
    			System.out.println("2-Représentation en rectangle ");
    			System.out.println("Votre choix : ");
    			int choix= clavier.nextInt();  //Erreur sur cette ligne : Exception in thread "main" java.util.NoSuchElementException
    		      if (choix == 1){
    		    	  Graph.dessinerCourbe();
    		      }else if (choix == 2){
    		    	  Graph.dessinerRectangle();
    		        }
     
     
    	}
     
    }

    MERCI D'AVANCE

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    l'erreur est causée par les parties du code que tu as choisi de nous cacher.

    Je t'avais pourtant dit qu'il fallait tout montrer. 'Faut croire que tu as pensé que j'avais tort. Eh bien, non.

    'fin bref. On ne peut pas en être sûr sans le voir, mais voici ce qu'il est presque certain qu'il se passe :

    - ta classe LireFichier crée un autre Scanner sur System.in. Il ne faut pas faire ça. Jamais plus d'un Scanner sur le même flux.

    Si tu veux lire System.in à plus d'un endroit, crée un seul Scanner au début du programme, et fais en sorte que toutes les parties du code qui en ont besoin se servent de se Scanner-là et pas d'un autre.

    - elle ferme le Scanner en question, va savoir pourquoi. Le seul effet que ça a est pourtant de fermer System.in, et donc d'empêcher qu'on puisse en lire encore quoi que ce soit.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Services de proximité

    Informations forums :
    Inscription : Mars 2011
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    Bonjour thelvin et merci pour ton aide,

    NON, ça ne m'a même pas passé à l'esprit de penser que tu avais tort.

    Effectivement j'avais un Scanner pour chaque méthode de cette classe, comme t'as dit j'ai mis un seule Scanner dans la Class LireFichier auquel je fais appel au besoin et ça fonctionne maintenant.

    encore une fois GRAND MERCI.

Discussions similaires

  1. Erreur sous eclipse avec Scanner
    Par bugland dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 11/01/2007, 15h28
  2. Erreur avec procédure LockWorkStation ...
    Par simonseztech dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 16/08/2004, 15h33
  3. [Débutant][Conception] Erreur avec une classe interne
    Par Devil Redneck dans le forum Général Java
    Réponses: 5
    Dernier message: 11/06/2004, 15h45
  4. Erreur avec les ADO
    Par megane dans le forum Bases de données
    Réponses: 7
    Dernier message: 08/03/2004, 21h37
  5. Erreur avec WM_COMMAND (BN_CLICKED)
    Par cyberlewis dans le forum Windows
    Réponses: 2
    Dernier message: 09/02/2004, 00h25

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