package com.javarush.task.task18.task1802;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Scanner;
/*
Минимальный байт
*/
public class Solution {
public static void main(String[] args) throws Exception {
Integer current = Integer.MAX_VALUE;
Scanner scanner = new Scanner(System.in);
String console = scanner.nextLine();
FileInputStream inputStream = new FileInputStream(console);
while (inputStream.available()>0){
if (inputStream.read() < current) {
current = inputStream.read();
}
}
inputStream.close();
System.out.println(current);
}
}
Zheleznyak Maxim
4 уровень
Что я сделал не правильно?
Обсуждается
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
KIRAРазработчик в prosv.ruExpert
12 октября 2021, 14:54
А что вы тут делаете?
if (inputStream.read() < current) {
current = inputStream.read();
}
+1
Zheleznyak Maxim
12 октября 2021, 16:45
Мне тоже казалось сомнительным это место в коде, однако этот способ работает.
Дословно читается так: если int меньше предыдущего минимального int, присвоить новое значение переменной current
0
KIRAРазработчик в prosv.ruExpert
12 октября 2021, 16:51
тут важный момент в том что вы делаете, в этом месте ошибка
0
Ksenia VolkovaJava Developer в DXCMaster
12 октября 2021, 18:04
Если у тебя этот способ работает - значит, ты плохо тестируешь.
Каждый вызов read считывает новый байт. Проверяешь ты один, а в переменную заносишь другой.
+1
Zheleznyak Maxim
13 октября 2021, 08:23
то есть считывается два байта за цикл, а проверяется один?
0