package com.javarush.test.level18.lesson10.home02;
/* Пробелы
В метод main первым параметром приходит имя файла.
Вывести на экран соотношение количества пробелов к количеству всех символов. Например, 10.45
1. Посчитать количество всех символов.
2. Посчитать количество пробелов.
3. Вывести на экран п2/п1*100, округлив до 2 знаков после запятой
4. Закрыть потоки. Не использовать try-with-resources
*/
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Solution {
public static void main(String[] args) throws IOException {
FileInputStream reader = new FileInputStream(args[0]);
int breaks = 0;
int count = 0;
while(reader.available() > 0) {
String a = Character.toString((char)reader.read()); //считываем байты, потом их в char, потом их в string
if (matchBreaks(a)) breaks++;
count++;
}
double dif = ((double) breaks / (double) count ) * 100;
System.out.println(String.format("%.2f", dif));
reader.close();
}
private static boolean matchBreaks(String a) {
Pattern p = Pattern.compile("^ $");
Matcher m = p.matcher(a);
return m.matches();
}
}
Leave A Comment