Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1851 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Problème d'utilisation du if

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème d'utilisation du if

n°1946770
Chris_ae
Posté le 03-12-2009 à 00:18:23  profilanswer
 

Bonjour,
 
J'ai écrit une application sous Eclipse qui est censée me lire un fichier .txt, m'en extraire des données et me les afficher dans la console (dans un premier temps). J'obtiens un message d'erreur  
 
Exception in thread "main" java.util.NoSuchElementException
 at java.util.Scanner.throwFor(Unknown Source)
 at java.util.Scanner.next(Unknown Source)
 at Project_home.extraction_matrice(Project_home.java:78)
 at Project_home.main(Project_home.java:13)
 
La ligne 78 est : if (matrices.next().compareTo("matrice" )==0){
 
 
  static void extraction_matrice(Scanner matrices){
   int a=0;
   int b=0;
    while(matrices.hasNext()){
     if (matrices.next().compareTo("matrice" )==0){
      if (matrices.nextInt()==3 ){
       while(matrices.next().compareTo("********************" )!=0){
       a=matrices.nextInt();
       matrices.next();
       b=matrices.nextInt();
        //créer un tableau de a lignes et b colonnes
       int tableau3[][]=new int[a][b];
        for (int k=0;k<tableau3.length;k++){
         for(int j=0;j<tableau3[0].length;j++){
         tableau3[k][j]=matrices.nextInt();
         System.out.println(tableau3[k][j]);
         }
        }
       }
      }
      System.out.println(" " );
     }
     if (matrices.next().compareTo("matrice" )==0){
      if (matrices.nextInt()==6){
       while(matrices.next().compareTo("********************" )!=0){
       a=matrices.nextInt();
       matrices.next();
       b=matrices.nextInt();
       int tableau6[][]=new int[a][b];
        for (int k=0;k<tableau6.length;k++){
         for(int j=0;j<tableau6[0].length;j++){
         tableau6[k][j]=matrices.nextInt();
         System.out.println(tableau6[k][j]);
         }
        }
       }
      }
      System.out.println(" " );
     }
     if (matrices.next().compareTo("matrice" )==0){
      if (matrices.nextInt()==7){
       while(matrices.next().compareTo("********************" )!=0){
       a=matrices.nextInt();
       matrices.next();
       b=matrices.nextInt();
       int tableau7[][]=new int[a][b];
        for (int k=0;k<tableau7.length;k++){
         for(int j=0;j<tableau7[0].length;j++){
         tableau7[k][j]=matrices.nextInt();
         System.out.println(tableau7[k][j]);
         }
        }
       }
      }
      System.out.println(" " );
     }
    if (matrices.next().compareTo("matrice" )==0){
      if (matrices.nextInt()==12){
       while(matrices.next().compareTo("********************" )!=0){
       a=matrices.nextInt();
       matrices.next();
       b=matrices.nextInt();
       int tableau12[][]=new int[a][b];
        for (int k=0;k<tableau12.length;k++){
         for(int j=0;j<tableau12[0].length;j++){
         tableau12[k][j]=matrices.nextInt();
         System.out.println(tableau12[k][j]);
         }
        }
       }
      }
     }
    }
 
Comme ce "if" est le dernier de la boucle, je me dis que mon erreur vient de là et qu'il doit y avoir un autre terme à utiliser,mais je ne sais pas comment le corriger.
Ensuite j'avoue ne pas très bien comprendre le message d'erreur.
 
Veuillez m'excuser pour la longueur du post, mais je ne sais pas comment mieux vous expliquer le problème qu'en le montrant.
Par avance merci

mood
Publicité
Posté le 03-12-2009 à 00:18:23  profilanswer
 

n°1946772
cbeyls
Hail to the King, Baby
Posté le 03-12-2009 à 00:53:20  profilanswer
 

C'est pourtant bien indiqué que c'est la méthode next() qui plante. Parce qu'il n'y a pas d'élément suivant disponible. Donc tu dois TOUJOURS tester s'il existe un élément suivant en appelant hasNext(), avant d'appeler next().

n°1946778
Chris_ae
Posté le 03-12-2009 à 06:44:51  profilanswer
 

En fait dans le fichier dont j'extrais mes matrices il y en a encore après la numéro 12.
 
Et puis je suis en grande partie autodidacte en programmation, donc ça peut te paraitre logique mais avant que ça me saute aux yeux...

n°1947547
Chris_ae
Posté le 05-12-2009 à 11:59:17  profilanswer
 

J'ai trouvé une autre solution.
Merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Problème d'utilisation du if

 

Sujets relatifs
Problème d'utilisation de REPLACEProblème lié à l'utilisation d'une variable globale
problème avec l'utilisation de JNI(java native inteface)Probleme d'utilisation d'un objet time
Problème d'utilisation du plugin de VLC pour firefoxProblème d'utilisation des Threads avec lib javacomm
Problème d'utilisation d'une tortue ( debutant )Problème d'utilisation des objets définis par l'utilisateur
Problème d'utilisation d'une classeProbleme utilisation pointeur et reference
Plus de sujets relatifs à : Problème d'utilisation du if


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR