Bonjour tout le monde,
je vous explique le problème, j'ai un fichier de base qui contient 2000*338 valeurs.
Pour simplifier la chose j'ai créé un deuxième fichier texte avec toutes les valeurs sur une seule colonne.
J'aimerai maintenant rentrer ses valeurs dans un tableau à 2 dimensions pour revenir au fichier original tout en transformant mes string en int.
Avec des petites valeurs pour mieux comprendre mon idée :
Fichier txt 1 =
1,20,5
5,2,8
Fichier txt 2 =
1
20
5
5
2
8
J'ai utilisé le deuxième fichier txt pour générer le code suivant :
Qui me donne l'erreur suivante lors de l’exécution :
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 import java.io.FileReader; import java.io.BufferedReader; import java.io.IOException; import java.io.*; public class ReadTextFile { public static void main (String[] args) throws IOException { int[][] monTableau = new int[2000][338]; BufferedReader in = new BufferedReader(new FileReader("X_train2.txt")); String line; while ((line = in.readLine()) != null) { System.out.println(line); int v = Integer.parseInt(line); for (int i = 0; i < 2000; i++){ for(int j = 0; j < 338; j++){ monTableau[ i ][ j ] =v; } } } in.close(); } }
Avec 0.17445 ma première valeur...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Exception in thread "main" java.lang.NumberFormatException: For input string: "0.17445" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:492) at java.lang.Integer.parseInt(Integer.java:527) at ReadTextFile.main(ReadTextFile.java:18)
Je suis certaine que c'est une erreur bête mais je n'arrive pas à voir
Je vous en serai extrêmement reconnaissante si vous trouvez ma petite erreur...
Merci mille fois !
Partager