Подсмотрела решение у явыраш, но не пойму почему такое
// int minByte = 255;
1) почему мы здесь не присваиваем 256 - ведь это самое большое значение
// try (FileInputStream fileInputStream = new FileInputStream(fileName)) {
2) не понимаю, что ловит try и где catch? ЧТо это за тема? где можно почитать про нее?
// while (fileInputStream.available() > 0) {
// int currByte = fileInputStream.read();
// if (currByte < minByte) minByte = currByte;
// }
Olja Horoshilova
23 уровень
блок try(){}
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Константин
31 января 2021, 15:06решение
Если коротко try здесь чтобы автоматически закрыть поток, как только он станет не нужен.
256 - это количество значений, начиная с 0 и до 255.
далее в цикле, пока есть непрочитанные байты
while (fileInputStream.available() > 0)
считываем следующий байт помещаем его в currByte и сравниваем его с самым маленьким на данный момент, а ему мы присвоили пока максимально возможное значение 255, чтобы точно найти меньше, ну или если все раны 255, то оно и будет меньшим. Если нашли число меньше то присваиваем minByte его значение.
+2
Андрей Шляхтович
12 июня 2021, 22:26
Так на всякий случай.
Можно просто при вводе переменной minByte присвоить ей значение inputStream.read().
Да и с maxByte так же можно.
0
KIRAРазработчик в prosv.ruExpert
31 января 2021, 14:58
256 это всего значений
0 - 255 (255 самое большое)
так же как от 0 - 9 (10 значений)
+1
Константин
31 января 2021, 14:57
try-with-resources
+2