Bonjours... je veux faire une somme des floats qui se trouve dans deux fichier ..
fichier 1 contient des float (C) dans la formats suivante:
48.0
55.4
1141
45488
1555
5552
fichier 2 contient deux colonne de float (la premiere X et la deuxieme Y)séparée par virgule dans la formats suivante:
1555.222,7941158
78465.5544,75155.1
765.40,7655
Je faire une addition de chaque élement de X par un élement C de fichier 1
exemlple :
1555.222+48.0
78465.5544+55.4
765.40+1141
l’exécution s’arrête ici car il n'ya pas encore des X à additionner avec des C ,il affiche seulement les sommes qu'il a fait.
Ma problème que mon prog faire la somme de tout les C par un seule X ou le contraire
Remarque: les fichier 1 et le fichier 2 n'ont pas le même nombre de ligne .. (le nombres C et les nombres de X sont différents)
// lecture des float du fichier 1
// lecture des float du fichier 2
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 package conversion; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; public class ValuesReading1 { public static List<Val> loadPoints(String filename) throws IOException { return Files.lines(Paths.get(filename)) .map(line-> line.split(" ")) // j'ai supprimer la virgule et l'a changer par espace .. .map(coord-> new Val(Float.parseFloat(coord[0]))) .collect(Collectors.collectingAndThen(Collectors.toList(), Collections::unmodifiableList)); } }
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 package conversion; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; public class ValuesReading2 { public static List<Read > loadPoints(String filename) throws IOException { return Files.lines(Paths.get(filename)) .map(line-> line.split(",")) .map(coord-> new Read(Float.parseFloat(coord[0]),Float.parseFloat(coord[1]))) .collect(Collectors.collectingAndThen(Collectors.toList(), Collections::unmodifiableList)); } }
la classe principale:
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 public class Everything { public static void main(String args[]) throws IOException{ //lecture de float de fichier 1 List<Conv_File1> data = ValueReading1.loadPoints("D:\\Doc\\java\\eq\\POI\\temperature\\src\\application\\cord.in"); for (Iterator<Conv_File1> iterator1 = data.iterator(); iterator1.hasNext();) { Conv_File1 conversion1 = iterator1.next(); //lecture de float de fichier 2 List<Conv_File2> data = ValueReading2.loadPoints("D:\\Doc\\java\\eq\\POI\\temperature\\src\\application\\Fsd.in"); for (Iterator<Conv_File2> iterator2 = data.iterator(); iterator2.hasNext();) { Conv_File2 conversion2 = iterator2.next(); float x =conversion1.obs+conversion2.abs System.out.print("Somme"+x); }}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public class Conv_File1{ float obs public Conv_File2(float obs) { this.obs= obs; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public class Conv_File2{ float abs,ord; public Conv_File2(float abs, float ord) { this.abs= abs; this.ord= ord; } }
Partager