level05.lesson12.bonus03

/* Задача по алгоритмам
Написать программу, которая:
1. вводит с консоли число N > 0
2. потом вводит N чисел с консоли
3. выводит на экран максимальное из введенных N чисел.
*/

public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int maximum = 0;

int N = Integer.parseInt(reader.readLine());
for (int i = 0; i < N; i++) {
int num = Integer.parseInt(reader.readLine());
if (num > maximum) {
maximum = num;
}
}

System.out.println(maximum);
}
}

Код компилируется и работает, условие выполняется корректно. В чем проблема?

6 комментариев

MrFim
Условие не выполняется, если вводить только отрицательные числа.
AlexNesterovich
Да, точно.
Сижу, и не могу понять, как вписать условие для отрицательных чисел.
Yurii
Просто int maximum = 0; — не подходит потому что 0 уже > -1, поэтому вместо 0 нужно максимальное из возможных отрицательное число (MIN_VALUE), а в остальном все правильно.
AlexNesterovich
Спасибо!
MrFim
Как вариант, ввести первое число до цикла и присвоить это значение максимуму, а цикл сделать до
i < N - 1
AlexNesterovich
Спасибо!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.