Возврат массива из функции в обратном порядке

158
15 февраля 2018, 15:00

Задача: отправить в функицию массив и вернуть (не отобразить,а именно вернуть) массив в обратном порядке. Результат: Вылазит ексепшн согласно которому программа пытается обратится к элементу за пределами массива. Не могу понять где и почему это происходит?

package com.itvdn.javaStarter;
public class UserArray {
    static int[] myReverse(int[] Array) {
        int[] newArray=new int[Array.length];
        int size=Array.length;
        for (int i = 0; i<=Array.length; i++) {
            newArray[i]=Array[size];
            size=size-1;
        }
    return newArray;
    }
    public static void main(String[] args) {
        System.out.println("Program-ReverseArray");
        int[] Array=new int[]{0,1,2,3};
        int[]newArray=myReverse(Array);
        for (int i=0; i<=newArray.length;i++){
            System.out.println(newArray[i] + " ");
        }
}}
Answer 1
int size = Array.length - 1;
for (int i = 0; i < Array.length; i++) {
Answer 2

У Вас ошибка в данных строках:

    newArray[i]=Array[size];
    size=size-1;

А должно быть:

    newArray[i] = Array[(size - 1) - i];

Если Вы используете среду разработки, то она Вам должна была подсказать проблемные строки.

READ ALSO
Деплой Spring Boot/PostgreSQL проекта через Gradle и Docker

Деплой Spring Boot/PostgreSQL проекта через Gradle и Docker

ЗдравствуйтеВозникла проблема с деплоем, над которой я уже бьюсь больше суток

179
java. Hibernate. transactionManager

java. Hibernate. transactionManager

Не могу настроить transactionManager

157
Что отправлять на выполнение в тредпулл, runnable или thread

Что отправлять на выполнение в тредпулл, runnable или thread

Создал executor с единственным потоком,

199
Где найти развернутое описание класса BigDecimal?

Где найти развернутое описание класса BigDecimal?

Добрый день, на каком русскоязычном сайте можно прочесть разжеванную для новичка информацию про использования класса BigDecimal, в частности...

126