Scanner console = new Scanner(System.in);
int max = 0;
while (console.hasNextInt())
{
int x = console.nextInt();
if (x > max)
max = x;
}
System.out.println(max);
Ведь объявляется только 2 переменные, первая это минимальное/максимальное число, вторая - введенная с клавиатуры. Но в почему при сравнении x(0) и max(например, 7) переменной max присваивается значение введенной с клавиатуры? И почему сравнивается именно с минимальным числом, а не с другим введенным с клавиатуры? Iscile
21 уровень
Не могу понять, как происходит сравнение
Решен
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
ГоффMaster
1 мая 2021, 22:41полезный
1. int max = 0; - это логическая ошибка. А если все числа будут отрицательные?
2. Алгоритм прост. Представь, что у тебя лежат карточки с числами, перевёрнутые. Карточки смотреть можно только по одной. Ты посмотришь первое число, запомнишь. Потом посмотришь второе, сравнишь в уме с запомненным, если оно окажется больше - запомнишь его. Посмотришь следующее число, снова сравнишь его с запомненным. Если оно окажется больше - то запомнишь его. Следующее число... и так далее.
+1
Iscile Работает в хочу в гугл
1 мая 2021, 23:39
понял, спасибо!
0