Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Não pesquisa

Estou tentando fazer o método pesquisa... pesquisar um determinado valor e assim que achar me retornar a posição do vetor onde ele esta

package meuprojeto;

class Aluno {

int[] valor;

void imprimevalores() {

for (int i = 0; i <= this.valor.length; i++) { System.out.println(this.valor[i]);

} }

int pesquisa(int a, int n, int v[]) { int i; i = n - 1; while (i >= 0 && v[i] != a) { i -= 1; } return i;

}

}

public class MeuProjeto {

public static void main(String[] args) { Aluno a1 = new Aluno(); a1.valor = new int[10];

a1.valor[0] = 1; a1.valor[1] = 2; a1.valor[2] = 3; a1.valor[3] = 4; a1.valor[4] = 5; a1.valor[5] = 6;

a1.imprimevalores(); a1.pesquisa(1,a1.valor.length, a1.valor); }

}

1 resposta

Olá Raphael, tudo bem?

Pelo que vi do seu código, você está passando no método pesquisa somente um valor inteiro (a1.valor), porém seu método na classe Aluno espera receber um vetor.

Fiz algumas alterações no seu código:

class Aluno {

    int[] valor;

    void imprimevalores() {

    for (int i = 0; i < this.valor.length; i++) 
         System.out.println(this.valor[i]);

    }

    int pesquisa(int a, int n, int[] valor) { 
        int i; i = n - 1; 
        while (i >= 0 && valor[i] != a) {
             i -= 1; 
        } return i;
    }

}

public class MeuProjeto {

    public static void main(String[] args) {

        Aluno a1 = new Aluno(); 
        a1.valor = new int[6];

        a1.valor[0] = 1; a1.valor[1] = 2; a1.valor[2] = 3; a1.valor[3] = 4; a1.valor[4] = 5; a1.valor[5] = 6;

        a1.imprimevalores(); 
        a1.pesquisa(1,a1.valor.length, a1.valor); 

    }

}

Obs: Repare que você está criando um vetor com 10 posições, mas está preenchendo somente as 6 primeiras posições. Quando você imprimir a posição 7,8,9 e 10 devemos ter o valor 0, pois nenhum valor foi preenchido nessas posições no seu método main.

Abs