Найти минимальное четное значение
Как вывести "ошибка" если нет минимальных четных значений? И что делать, если x[0] будет нечётным. '''
min = 0;
for (int i = 1; i < N; i++) {
if ((x[i] % 2 == 0) && (x[i] < x[min])) {
min = i;
}
}
System.out.printf("Минимальное значение: x(%d)= %1.2f\n", min, x[min]);
'''
Ответы (2 шт):
Автор решения: MBo
→ Ссылка
min = Integer.MAX_VALUE; //нечётное
for (int i = 0; i < N; i++) {
if ((x[i] % 2 == 0) && (x[i] < min)) {
min = x[i];
}
}
А в конце уже проверить min на чётность или совпадение с Integer.MAX_VALUE и соответственно сделать вывод
Или так:
min = 0;
for (int i = 1; i < N; i++) {
if (x[i] % 2 == 0) {
if (x[min] % 2 != 0) || (x[i] < x[min])) {
min = i;
}
}
}
Автор решения: Andrew Bystrov
→ Ссылка
красиво через стримы
Arrays.stream(x)
.filter(a -> a % 2 == 0)
.min()
.ifPresentOrElse(
min -> System.out.println("Минимальное четное : " + min),
() -> System.out.println("Нет минимального четного")
);