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

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software