Bonjour à tous,
J'ai un souci avec la fonction scanner de java.
Je désire exploiter les données d'un document texte (situé dans C:\data.txt) de la forme:
qui contient donc une première ligne qui sert de titre, ainsi que 36 chiffres et 9 lettres.Puzzle 1(4solutions)
A -4 1 -3 2
B -2 4 3 -2
C -3 1 -2 4
D 3 2 -1 -4
E 2 -1 4 -3
F -4 1 3 -2
G -3 -2 2 1
H -1 -4 2 3
I -2 1 2 -1
Chaque ligne correspond à une Piece (une Piece se construit à l'aide de 4 int, et une String: Piece(int,int,int,int,String) ). Je voudrai donc remplir un tableau de Piece en utilisant les données de ce fichier.
Voici le code que j'ai:
Or, Eclipse me renvoi l'erreur suivante:
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
22
23
24
25
26
27
28
29
30
31
32 public void lire() throws FileNotFoundException{ Scanner scanner=new Scanner(new File("C:\\data.txt")); // On boucle sur chaque champ detecté int i = 0; int j = 0; int[] tab = new int[36]; String[] lines = new String[10]; while (scanner.hasNextLine() && i<10) { String line = scanner.nextLine(); while (scanner.hasNextInt()) { long x = scanner.nextInt(); tab[j] = scanner.nextInt(); j++; } lines[i] = line; i++; } scanner.close(); //exemple pour la ligne 1: A -4 1 -3 2 String input = lines[1]; Scanner s = new Scanner(input); System.out.println(s.nextInt()); //ici je voudrai avoir: //pieces[1] = new Piece(-4, 1, -3, 2, "A"); s.close(); }
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at puzzle.Pool.lire(Pool.java:102)
at puzzle.testPool.main(testPool.java:24)
J'ai cru comprendre que c'était du au fait que je veux récupérer à la fois des lettres et des chiffres mais j'ai du mal à comprendre comment faire.
Si quelqu'un a une idée
Merci d'avance !
Partager