Здравствуйте!
В чем может быть проблема?
package com.javarush.task.task18.task1817;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/*
Пробелы
*/
public class Solution {
public static void main(String[] args) {
if (args.length == 0) return;
try (BufferedReader reader = new BufferedReader(new FileReader(args[0]))) {
StringBuilder allSymbols = new StringBuilder();
StringBuilder allSpaces = new StringBuilder();
Pattern patSpaces = Pattern.compile("\\s+");
String line = reader.readLine();
while (line != null) {
Matcher matcher = patSpaces.matcher(line);
while (matcher.find()) {
allSpaces.append(matcher.group());
}
allSymbols.append(line);
line = reader.readLine();
}
double value = (double) allSpaces.length() / allSymbols.length();
BigDecimal result = new BigDecimal(100 * value);
result = result.setScale(2, RoundingMode.DOWN);
System.out.printf("%.2f", result);
} catch (IOException e) {
e.printStackTrace();
}
}
}