Passagem de um vetor para um método

2 respostas
F

Aí gurizada, preciso de uma força, não estou conseguindo passar um vetor como parâmetro para um método, já fiz testes com vetor de Strings, com Vector e não funciona, abaixo vai o meu código:

//Criação do Vector
Vector descampos = new Vector(numcampos);

descampos.add(Objeto1);

descampos.add(Objeto2);

:

:

descampos.add(Objeton);

//chamada para o método que está em outra classe
cab.DefineCabeçalho(numcampos,descampos);

Abaixo está o código do método:

public void DefineCabeçalho(int nc, Vector c[])

{

numerocampos = nc;

Campos = new Vector(nc);

for (i=0;i<=nc;i++)

Campos.add(c[i]);

}
Esse é o erro que  na hora de compilar:

CriarQuestionario.java:513: DefineCabeçalho(int,java.util.Vector[]) in Cabeçalho cannot be

applied to (int,java.util.Vector)

cab.DefineCabeçalho(numcampos,descampos);

^

alguém sabe o que estou fazendo de errado ??

[]s,
Fabrício.

2 Respostas

Ironlynx

Fabrício,ATENÇÂO!!!
Vector não é um vetor(array) como C,C++!!!
Ele eh uma estrutura de dados Java heterogênea(e sincronizada),sem tamanho fixo,com algumas funções de um vetor(array ou arranjo) e outras inerentes a si mesmo(como poder crescer dinamicamente com a inserção de mais elementos sem estourar como ocorreria num array"vetor" normal ao adicionar um elemento maior q sua capacidade declarada) Olhe aqui:

http://www.caelum.com.br/download/fj-joo/fj-13.pdf
http://www.cin.ufpe.br/~in1007/transparencias/Java2_Collections_Framework.ppt.

F

Aí Ironlynx valeu as dicas, consegui fazer o que queria, o probelma estava no método, alterei o código e funcionou, agora ficou assim:

//Criação do Vector
Vector descampos = new Vector(numcampos);

descampos.add(Objeto1);

descampos.add(Objeto2);

:

:

descampos.add(Objeton);

//chamada para o método que está em outra classe
cab.DefineCabeçalho(numcampos,descampos);

Código do método:

public void DefineCabeçalho(int nc, Vector c)

{

numerocampos = nc;

Campos = new Vector(nc);

for (i=0; i < nc; i++)

Campos.add(i,c.elementAt(i));

}
Criado 1 de maio de 2004
Ultima resposta 2 de mai. de 2004
Respostas 2
Participantes 2