Passar vetor como parametro

5 respostas
oitathi

Gente, eu tô tentando fazer uma coisa simples… eu crio um vetor em um metodo e quero passar esse vetor para outro metodo. quando eu dou um print no primeiro metodo o meu vetor aparece cheio,mas quando eu printo esse mesmo vetor passado como parametro ele soh printa 0, ou seja, todos os seus indices estão vazios.
O que está acontecendo?

public void completeArray(int multi, int cor, int line){
    int v[] = new int [imageWidthHeader];
    if(previous>=imageWidthHeader){
        moveArray(v, line);
        System.exit(0);
        previous=0;
    }
    else{
        for(int i=previous;i<previous+multi;i++){
            v[i]=cor;
        }
        previous=previous+multi;
    }
    
}//end method

public void moveArray(int[]v, int line){
    for(int i=0;i<v.length;i++){
        System.out.println(v[i]);
    }
}

5 Respostas

drigo.angelo

aonde voce iniciou o array? nesse caso você só criou o array e caso previous seja maior ou uigual a imageWidthHeader voce chama o metodo que o imprime… :S

oitathi

iniciei o vetor nessa linha:

int v[] = new int [imageWidthHeader];

Como eu deveria fazer?
Essa condição :

previous>=imageWidthHeader

Só vai acontecer quando o indice i atingir o tamanho total do vetor

Polverini

como foi declarado o previous ?

oitathi

Chamei o método quando o indice i atinge o tamanho do vetor

drigo.angelo

posta a parte do codigo que chama complete array…

olha o que está acontecendo quando completeArray é chamado:

-cria um novo array de inteiros, com imageWidthHeader posições;

Na memória isso significa:

v --> |0, 0, 0, 0| (para imageWidthHeader = 4 )

-caso previous (cade essa variavel? é uma variavel de instancia?) for maior ou igual a imageWidthHeader, execute esse bloco de codigo: ( o outro bloco de código não é relevante para esta analise)

–chama o metodo que imprime o array
Na memoria o array ainda esta como v --> |0, 0, 0, 0|

etcetera…

Entendeu? voce nao inicia o array, apenas o cria e aloca o espaço na memoria para ele :stuck_out_tongue:

[]'s

Criado 23 de fevereiro de 2011
Ultima resposta 23 de fev. de 2011
Respostas 5
Participantes 3