I don't have any unnecessary new lines or spaces. I assume it's the way I'm handling negative values but can't be sure. Any help would be greatly appreciated!
package com.codegym.task.task18.task1820;
/*
Rounding numbers
*/
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 fn1 = reader.readLine();
String fn2 = reader.readLine();
InputStream inputStream = new FileInputStream(fn1);
OutputStream outputStream = new FileOutputStream(fn2);
String data = "";
while( inputStream.available() > 0 ) {
data += (char)inputStream.read();
}
String[] values = data.split(" ");
List<Byte> newByteArr = new ArrayList<Byte>();
for(String value : values) {
int roundedValue = Math.round(Float.parseFloat(value));
if( roundedValue < 0 ) {
newByteArr.add((byte) 45);
roundedValue = Math.abs(roundedValue);
}
newByteArr.add((byte)(roundedValue+'0'));
newByteArr.add((byte)32);
}
newByteArr.remove(newByteArr.size()-1);
byte[] byteArr = new byte[newByteArr.size()];
for(int i = 0; i < newByteArr.size(); i++) {
byteArr[i]=newByteArr.get(i);
}
outputStream.write(byteArr);
inputStream.close();
outputStream.close();
}
}