Думаю, что ошибка в округлении. Пытался 2-мя способами, не принимает. Может, есть альтернатива, или где-то ошибка?
package com.javarush.task.task18.task1817;
import java.io.*;
//import java.text.DecimalFormat;
//import java.math.RoundingMode;
/*
Пробелы
*/
public class Solution {
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream(args[0]);
double chars = 0.0, spaces = 0.0;
while(fis.available() > 0){
int data = fis.read();
if(data == Integer.valueOf(' ')) spaces++;
else chars++;
}
fis.close();
//DecimalFormat df = new DecimalFormat("#.##");
//df.setRoundingMode(RoundingMode.HALF_UP);
//System.out.println(df.format(spaces*100/chars));
System.out.printf("%.2f", (spaces*100/chars));
}
}