Apparemment mon programme fonctionne et il me semble que j'obtiens les bons arrondis de nombres grâce à Math.round(). J'ai stocké le contenu du premier fichier dans un String fichier1, que j'ai ensuite parcouru avec une boucle for pour trouver les valeurs et les arrondir avec Math.round(). Je les ai mises dans un String fichier2 séparées par des espaces. Puis j'ai écrit le contenu de fichier2 dans le second fichier. Je ne vois pas pourquoi mon programme n'est pas validé.
package fr.codegym.task.task18.task1820;
/*
Arrondi de nombres
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader lecteur = new BufferedReader(new InputStreamReader(System.in));
FileInputStream fileInputStream1 = new FileInputStream(lecteur.readLine());
FileOutputStream fileOutputStream2 = new FileOutputStream(lecteur.readLine());
int taille = fileInputStream1.available();
char[] tableau1 = new char[taille];
int i = 0;
while(fileInputStream1.available() > 0) {
tableau1[i] = (char) fileInputStream1.read();
i++;
}
String fichier1 = new String(tableau1);
String fichier2 = "";
String valeur = "";
for(i = 0; i < fichier1.length(); i++) {
if(fichier1.charAt(i) != ' ' && fichier1.charAt(i) != '\n') {
valeur = valeur.concat(String.valueOf(fichier1.charAt(i)));
}else {
double nombre = Double.parseDouble(valeur);
int entier = (int) Math.round(nombre);
fichier2 = fichier2.concat(String.valueOf(entier)).concat(" ");
valeur = "";
}
}
fileOutputStream2.write(fichier2.getBytes());
lecteur.close();
fileInputStream1.close();
fileOutputStream2.close();
}
}