Правила[Одномерные массивы]Дана последовательность целых чисел a1, a2, ..., an. Выяснить, какое число встречается раньше – положительное или отрицательное.
public static boolean isPositiveFirst(int[] array) {
for (int element : array) {
if (element != 0) {
return (element > 0);
}
}
throw new IllegalArgumentException("All elements are zeros or array length is zero");
}
Тело метода без лишнего знака, просто гениально. Как исключение я бы наверно кидал IllegalArgumentException, иначе надо добавлять throws Exception в сигнатуру, и как то все страшно выходит.
По условию мы принимаем последовательность a1, a2, ..., an, но вдруг нам таки скормят пустой массив типа int[] arr = new int[0];, надо как-то выкручиваться, «all values is 0» будет не совсем честно. В остальном операторов обнять пробелами, и просто сказка а не метод.
Условие задачи на много проще, необходимо выяснить какое число встречается раньше – положительное или отрицательное, а у тебя находит то которое встречается чаще.
Решение мне нравиться все очень аккуратно, в будущем, если мне не изменяет память, должно быть похожее задание, на частоту отрицательных и положительных чисел в последовательности.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
По условию мы принимаем последовательность a1, a2, ..., an, но вдруг нам таки скормят пустой массив типа int[] arr = new int[0];, надо как-то выкручиваться, «all values is 0» будет не совсем честно. В остальном операторов обнять пробелами, и просто сказка а не метод.
Решение мне нравиться все очень аккуратно, в будущем, если мне не изменяет память, должно быть похожее задание, на частоту отрицательных и положительных чисел в последовательности.