в первом файле тестирую на
3.49488 5.50566 2.555334 4 -2 -2.50 -2.51 -2.49 95
вывод
3 6 3 4 -2 -2 -3 -2 95
записывает во второй файл
3 6 3 4 -2 -2 -3 -2 _
Почему оно приобразовывает в char. Нигде же нет указания в чар вернуть значение int !
"_" - это 95 в инте
package com.javarush.task.task18.task1820;
/*
Округление чисел
*/
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String file1 = reader.readLine();
String file2 = reader.readLine();
reader.close();
BufferedInputStream reader1 = new BufferedInputStream(new FileInputStream(file1));
BufferedWriter writer = new BufferedWriter(new FileWriter(file2));
byte[] buff = new byte[reader1.available()];
reader1.read(buff,0, buff.length);
String string = "";
for (int i = 0; i < buff.length; i++) {
System.out.print((char)buff[i] );
if (buff[i] == ' ' ) {
if (!string.equals("")) {
int k = (int) Math.round(Double.parseDouble(string));
writer.write(k + " ");
System.out.println(k );
string = "";
}
} else {
string += (char)buff[i];
//и если это был последний символ в массиве, то преобразовываем и записываем
if (i == buff.length-1){
int k = (int) Math.round(Double.parseDouble(string));
writer.write(k );
//показывает все отлично!
System.out.println(k );
}
}
}
writer.close();
reader1.close();
}
}