public static void main(String[] args) {
Scanner console = new Scanner(System.in);
int min = Integer.MAX_VALUE;
int secondMin = Integer.MAX_VALUE;
while (console.hasNextInt()) {
int tmp = console.nextInt();
if (tmp < min) {
secondMin = min;
min = tmp;
} else if (tmp > min && tmp < secondMin) {
secondMin = tmp;
}
}
System.out.println(secondMin);
}
tonyBrown.....
6 уровень
Не пойму почему компилятор принимает решения ведь если ввести 2 и 2 а затем ввести символ не являющийся int то не выводится минимальное второе значение , а выводиться максимальное.
Обсуждается
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ljamza
22 марта 2023, 14:37
проблема не в решении, оно верное, при вводе 2 и 2 у тебя 2 цифры равны и не происходит никакого алгоритма if, значение второго остается не изменим, что бы изменить попробуй в операторе else изменить первое условие на: tmp>=min
+1
tonyBrown.....
18 марта 2023, 08:44
думаю что задача содержит ошибку😒
+1
Денис Enterprise Java Developer
18 марта 2023, 11:43
Ошибку содержит логика в твоём коде. Подумай почему вторая двойка твоим решением будет проигнорирована.
0
tonyBrown.....
18 марта 2023, 18:34
это понятно почему, потому что вторая двойка не проходит ни по одному из условий но в этом и заключается ошибка так как в решении данном джава раш при вводе одинаковых цифр программа выдаёт ошибку, решение не мое оно взято из "правильного ответа"
0
Денис Enterprise Java Developer
18 марта 2023, 18:57
"Правильного ответа" я не видел, но могу предположить, что там другие проверки. Например что-то вроде такого:
0