for(int i = 0; i < temp.length; i++)
Вызов .length
для массива возвращает размер массива, но индексы массива основаны на 0.Для вашего цикла вы правильно начали с i = 0
, но вам нужно только перейти к i = (temp.length - 1)
или вы получите исключение индекса за пределами границ.Сравнение i < temp.length
вместо i <= temp.length
учитывает этот сдвиг в базисе индекса.