Дан массив A размера N. Вывести вначале его элементы с четными номерами (в порядке возрастания номеров), а затем — элементы с нечетными номерами (также в порядке возрастания номеров): A2,A4,A6,. . ., A1,A3,A5, . . . . Условный оператор не использовать.
Решение задачи
Решение задачи довольно простое. Мы будем использовать два цикла для прохода по массиву. В первом цикле мы будем выводить на экран элементы массива с чётными номерами, во втором цикле – с нечётными номерами.
Важно помнить, что индексация в массивах происходит с нуля. То есть первый элемент А1 будет иметь индекс 0, а элемент А2 – индекс 1.
Сначала объявим переменную, которую будем использовать в циклах:
int i = 1;
Сначала будем обращаться к элементам с чётными номерами в порядке возрастания и выводить их на экран:
while (i <= elements.length - 1) { System.out.print(elements[i] + " "); i = i + 2; }
Затем начнём выводить на экран нечётные элементы:
i = 0; while (i <= elements.length - 1) { System.out.print(elements[i] + " "); i = i + 2; }
Полный исходный код программы
import java.util.Arrays; public class ArrayPrintEvenOddElements { public static void main(String[] args) { printArray(new Integer[]{1, 2, 3, 4, 5, 6, 7}); printArray(new Integer[]{1, 2, 3, 4, 5, 6}); printArray(new Integer[]{1}); } public static void printArray(Object[] elements) { if (elements == null || elements.length == 0) { return; } System.out.print(Arrays.toString(elements) + ": "); int i = 1; while (i <= elements.length - 1) { System.out.print(elements[i] + " "); i = i + 2; } System.out.print(", "); i = 0; while (i <= elements.length - 1) { System.out.print(elements[i] + " "); i = i + 2; } System.out.println(); } }