Estou tentando resolver este exercicio mais da dando erro

Escreva um algoritmo que leia um vetor de 20 posições e mostre-o. Em
seguida, troque o primeiro elemento com o último, o segundo com o
penúltimo, o terceiro com o antepenúltimo, e assim sucessivamente.
Mostre o novo vetor depois da troca.

package er2.pkg3;

import java.util.Scanner;

public class ER23 {

@SuppressWarnings("empty-statement")
public static void main(String[] args) {
    Scanner sc=new Scanner(System.in);
    int numero[]=new int [5];
    
    int i;
    int j=5;
    int aux;
    for(i=0;i<5;i++){
    System.out.println("Digite o"+(i+1)+" elemento :");
    numero[i]=sc.nextInt();
          
    }
    for(i=0;i<5;i++){
     System.out.print(" "+numero[i]+" ");
    }
    
    i=0;        
    j=5;
  do{
  aux=numero[i];// aqui
  numero[i]=numero[j];
  numero[j]=aux;
  i++;
  j--;
  }while(j<i);
  
    for(i=0;i<5;i++){
    System.out.print(" "+numero[i]+" ");
    }  
  
   }
}

Qual o erro?

Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 5

aux=numero[i];// aqui
numero[i]=numero[j];

Boa tarde,

Seu problema esta no j=5, todo vetor começa com 0, entao o seu j deve valer 4.

Obrigado. deu certo.

náo te canse de fazer o bem

Cumprimentos