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 :

pb scanner java.util.InputMismatchException


Sujet :

Langage Java

  1. #1
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut pb scanner java.util.InputMismatchException
    Bonjour,
    j'ai utilisé un scanner pour parser un fichier qui contient à la fois des entiers et des strings mais j'ai une une Exception de type:InputMismatchException
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Scanner scanner = new Scanner(line);
                       scanner.useDelimiter(java.util.regex.Pattern.compile("|"));
                      // scanner.useDelimiter("|");
                       if ( scanner.hasNext() )
                       {                  
                          int ID = scanner.nextInt();
                          int cnt = scanner.nextInt();
                          String adr = scanner.next();
                          String metier = scanner.next();
                          int cop = scanner.nextInt()....}

  2. #2
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Citation Envoyé par flora806 Voir le message
    Bonjour,
    j'ai utilisé un scanner pour parser un fichier qui contient à la fois des entiers et des strings mais j'ai une une Exception de type:InputMismatchException
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Scanner scanner = new Scanner(line);
                       scanner.useDelimiter(java.util.regex.Pattern.compile("|"));
                      // scanner.useDelimiter("|");
                       if ( scanner.hasNext() )
                       {                  
                          int ID = scanner.nextInt();
                          int cnt = scanner.nextInt();
                          String adr = scanner.next();
                          String metier = scanner.next();
                          int cop = scanner.nextInt()....}
    Bonjour

    Essai de faire ça pour voir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    scanner.useDelimiter(java.util.regex.Pattern.compile("\\|"));
    Ca marche pas mieux?

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut
    Non pas vraiment mieux
    Exception in thread "main" java.util.InputMismatchException
    at java.util.Scanner.throwFor(Scanner.java:840)
    at java.util.Scanner.next(Scanner.java:1461)
    at java.util.Scanner.nextInt(Scanner.java:2091)
    at java.util.Scanner.nextInt(Scanner.java:2050)

  4. #4
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    bizarre, j'ai fait le test suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
            Scanner scanner = new Scanner("1|2|adresse|metier|4");
            scanner.useDelimiter(Pattern.compile("\\|"));
     
            if ( scanner.hasNext() )
            {                  
               int ID = scanner.nextInt();
               int cnt = scanner.nextInt();
               String adr = scanner.next();
               String metier = scanner.next();
               int cop = scanner.nextInt();
               System.out.println(ID + " " + cnt + " " + adr + " " + metier + " " + cop);
            }

    et ça fonctionne, ça me renvoit : 1 2 adresse metier 4

    Tu es sure de ton séparateur dans le fichier?

  5. #5
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut
    j'ai utilisé exactement le même code que le tien, j'ai fait un print, ça m'affiche les valeurs et juste en dessous tjr la même exception
    dans mon fichier le séparateur c'est bien celui là, et j'ai un retour en ligne à la fin de chaque ligne.

  6. #6
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Tu pourrais envoyer un exemple de ligne de ton fichier et toutes les opérations de Scanner que tu fais si y'en a d'autres que celle affichées?

  7. #7
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut
    au lieu de galérer avec ce Scanner, j'ai dû modifier les données, ils sont toutes du même type mnt (des entiers) et ça marche enfin!
    merci pour votre aide.

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

Discussions similaires

  1. java.util.Scanner hasNext() false
    Par ronchman07 dans le forum Développement de jobs
    Réponses: 8
    Dernier message: 25/06/2015, 17h41
  2. Problème avec java.util.Scanner.
    Par Andarus dans le forum Langage
    Réponses: 2
    Dernier message: 17/01/2012, 11h54
  3. Problème avec java.util.Scanner
    Par fab56 dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 16/09/2009, 21h25
  4. probleme avec java.util.Scanner
    Par d-a-v-e dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 04/05/2006, 22h08
  5. Réponses: 4
    Dernier message: 06/02/2004, 16h23

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