Somme des Float existe dans deux fichiers
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
Code:
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));
}
} |
// lecture des float du fichier 2
Code:
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:
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:
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:
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;
}
} |