Массив степеней двойки в обратном порядке

Создать целочисленный массив на 16 элементов. Заполнить этот массив в цикле числами из ряда степеней двойки в обратном порядке: от 2^15 до 2^0. Для расчета степени использовать класс Math. После цикла выведете массив в консоль с помощью метода Arrays.toString().

int[] arr16 = new int[16];
for (int i = arr16.length; i > -1; i--)
    arr16[i] = (int) Math.pow(2, i);
System.out.println("Arrays: " + Arrays.toString(arr16));

Подскажите что не так, почему ошибка?


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

Автор решения: Vadik

В массиве array нет элемента с индексом array.length. Начните цикл с array.length - 1.

Во многих языках программирования нумерация элементов в массиве начинается с нуля.

Первый элемент массива это array[0], а последний — array[array.size - 1].

Попытка сделать array[array.length] приведет к ошибке ArrayIndexOutOfBoundsException.

→ Ссылка