Pelo que entendi esse método verifica se o inteiro x está no array V[]. Se o elemento x estiver no array ele retorna 1, se não estiver, ele retorna 0.
Quanto ao funcionamento do método acho que é assim: Caso n = 0, ele retorna 0, pois não há posições no array. Caso ocorra 1 ou mais elementos no array, ele verifica em uma posição anterior (lembre-se que em um array de 10 posições o array vai de 0 a 9, por isso a utilização do n -1). Caso encontre o elemento nessa posição, o método retorna 1, se não encontrar ele entra em uma recursão para procurar nas outras posições (n-1,n-2, etc…).
Acho que é isso. Não sei se ficou bem explicado, mas qualquer coisa, manda mais mensagens ae, ok?/
Obrigado, era isso mesmo, muito obrigado mesmo pela ajuda passei quase o dia todo tentando descobrir :shock:
Fiz uma classe que usa esse método para testar se era isso mesmo.
public static void main(String[] args) {
// TODO Auto-generated method stub
String tamanho = JOptionPane.showInputDialog(null, "Digite o tamanho do vetor: ", "Tamanho do vetor",
JOptionPane.QUESTION_MESSAGE);
int n = Integer.parseInt(tamanho);
int[] vetor = new int[n];
int i = 0;
for (int cont = 0; cont < n; cont++){
i ++;
String numeros = JOptionPane.showInputDialog(null, "Digite o " + i + "º número.", "Itens do Vetor",
JOptionPane.QUESTION_MESSAGE);
vetor [cont] = Integer.parseInt(numeros);
}
String num = JOptionPane.showInputDialog(null, "Digite um número inteiro: ", "Digitar número",
JOptionPane.QUESTION_MESSAGE);
int numero = Integer.parseInt(num);
int retorno = verifica(numero, vetor, n);
switch (retorno){
case 0: JOptionPane.showMessageDialog(null, + retorno + ": O número inteiro NÃO está no vetor." ,
"Resultado", JOptionPane.INFORMATION_MESSAGE);
break;
case 1: JOptionPane.showMessageDialog(null, + retorno + ": O número inteiro ESTÁ no vetor." ,
"Resultado", JOptionPane.INFORMATION_MESSAGE);
break;
default: JOptionPane.showMessageDialog(null, + retorno + "Retorno inesperado." ,
"Resultado", JOptionPane.INFORMATION_MESSAGE);
break;
}
}
public static int verifica (int x, int[] v, int n) {
if (n == 0)
return (0);
if (x == v[n-1])
return (1);
return (verifica(x, v, n-1));
}
}