Найти минимальное значение

Никак не могу правильно найти четное минимальное число и вывести ошибку, если такого числа нет. Еще min изначально должен приравниваться к заведомо несуществующему значению индекса. Помогите пожалуйста !

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;
                }
            }
        }
    if (x[min] < min) {
        System.out.printf("Минимального четного значения нет\n");
    }
    else {
        System.out.printf("Минимальное четное значение: x(%d)= %1.2f\n", min, x[min]);
    }

Ответы (2 шт):

Автор решения: Igor
min = -1;
for (int i = 0; i < N; i++) {
  if (x[i] % 2 == 0 && (min == -1 || x[i] < x[min]))
    min = i;
}
if (min == -1)
  System.out.printf("Минимального четного значения нет\n");
else
  System.out.printf("Минимальное четное значение: x(%d)= %1.2f\n", min, x[min]);
→ Ссылка
Автор решения: AlekseiGaile
public class Main {
    public static void main(String[] args) {
        int[] i = new int[]{1, 3, 5, 18, 7, 9, 11, 24, 14};
        System.out.println(minValue(i));
    }

    public static int minValue(int[] massive) {
        int minimum = Integer.MAX_VALUE;

        if (massive == null || massive.length == 0) {
            return minimum;
        }

        for (int j : massive) {
            if (j % 2 == 0) {
                minimum = Math.min(minimum, j);
            }
        }
        return minimum;
    }
}
→ Ссылка