Erro na criação de um metodo recursivo [RESOLVIDO]

1. Erro na criação de um metodo recursivo [RESOLVIDO]

Leonardo Ribeiro Leonardi
leo99i

(usa Ubuntu)

Enviado em 22/09/2021 - 11:52h

Olá tenho esse exercicio para resolver, e estou com um problema na resolução.

Crie um método recursivo que procure um número dentro de um vetor, a partir de um índice. Se achar o mesmo, o método retorna o índice em que ele se encontra, senão, retorna -1 (busca linear recursiva). Esse é o código que fiz, mas não estou enxergando o erro, alguem pode dar uma luz aí:
public class BuscaSequencial {
public static void main(String[] args) {
int[] vetor = {9, 15, 7, 18, 23, 1, 75, 14, 54, 17, 21};
int indice = buscaSequencial(vetor, 23, 0);
System.out.println(indice);
}

private static int buscaSequencial(int[] vetor, int elemento, int i) {
if (elemento != vetor[i]) {
return buscaSequencial(vetor, elemento, i + 1);
}else if(i > vetor.length - 1){
return -1;
}else{
return i;
}
}
}


Ele apenas funciona quando tem o elemento no vetor, mas quando o elemento não no vetor ele da o erro ArrayIndexOutOfBoundsException, alguem pode ajudar?


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts