Pular para o conteúdo

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

Responder tópico
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
  • Denunciar
  • Indicar

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

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?

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Responder tópico

Entre na sua conta para responder.

Fazer login para responder