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