Estou tentando fazer um programa em que dada um array de objetos com n elementos, retorne outra array com os mesmos elementos só que na ordem inversa. Eu tentei codificar, mas não estou conseguindo compilar. Gostaria de saber como corrigir o erro e se existe uma outra maneira de se fazer além da que eu pensei. Obrigado.
public class ArrayInverse {
public void Reverse(int array[])
{
int arrayInverse[] = new int[array.length];
int aCount = 0;
for(int i = array.length-1; i >= 0;i-- )
{
arrayInverse[aCount] = array[i];
aCount++;
}
for(int i = 0; i <= arrayInverse.length;i++)
System.out.println(arrayInverse[i]);
}
public class Test {
public static void main(String[] args)
{
ArrayInverse ai = new ArrayInverse();
ai.Reverse(new int[]{5,3,42,42,32,2});
}
}
Retornou isso
2
32
42
42
3
5
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6
at Test.ArrayInverse.Reverse(ArrayInverse.java:17)
at Test.Test.main(Test.java:9)