package com.javarush.task.task18.task1817;
/*
Пробелы
*/
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.math.BigDecimal;
public class Solution {
public static void main(String[] args) throws IOException {
FileInputStream file = new FileInputStream(new File(args[0]));
BigDecimal one = new BigDecimal(1);
BigDecimal all = new BigDecimal(0);
BigDecimal space = new BigDecimal(0);
BigDecimal hundred = new BigDecimal(100);
while(file.available()>0) { //нахожу все символы
int a = file.read();
all.add(one);
}
while (file.available()>0) { // нахожу только пробелы
int a = file.read();
String s = Integer.toString(a);
if(s.equals(" ")) {
space.add(one);
}
}
file.close();
BigDecimal fin = space.divide(all.multiply(hundred)); // нашел результат
System.out.println(fin.setScale(2,BigDecimal.ROUND_CEILING).stripTrailingZeros());
//два симлова после запятой, округлил, убрал лишние нули
}
}
Pavel
36 уровень
Где ошибки?
Решен
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Сергеев ВикторMaster
16 декабря 2017, 19:10решение
итак в первом цикле вы читаете байты, пока количество непрочитанные больше нуля. Т.е. выйдя из цикла в файле осталось 0 непрочитанных байт. Вопрос: будет ли работать второй цикл?
+3