Sintaxe para obter os objetos do vector

5 respostas
D

Olá !!!



Sou principiante em java, apesar de conhecer a linguagem a algum tempo.

Gostaria de uma ajuda, é bem simples…



Eu queria armazenar no vector uma variavel int, porem o vector não aceita tipos primitivos, dai criei um objeto Integer x = new… dentro de um for, pois estou fazendo leitura de teclado… Ai vem o problema, criei um outro for para acessar os objetos do vector, porem estou com problemas com o indice (o compilador diz q não pode ser inteiro) e com a variavel x (como essa variavel foi inicializada dentro de um for e provavel q ela só exista dentro do proprio for…)



Gostaria de saber a sintaxe certa para q eu possa pegar todos os objetos do vector…sendo q tem q ser em vector, pois com array não rola…





Desde já muito o obrigado pela atenção.



flw´s…

5 Respostas

A

Simples…



Code:


Vect temp = new Vector();

for(int i=0; i < 80; i ++) {

temp.add(new Integer(i));

}





Obtendo os objetos do vector…



for(int i=0; i < temp.size(); i ++) {

int k = temp.get(i).intValue();

System.out.println("Valor inteiro do k é :" + k );

}






D
Putz de uma olhada no q estou tentando fazer.








         Integer num; //inicializo ela no for.


         Vector vet = new Vector();


         int i, j, n=0;


         try


         {


            n=Integer.parseInt(leia.readLine());


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


            {


               num=new Integer(Integer.parseInt(leia.readLine()));


               vet.addElement(num);	


            }


            for(j=0; j < n; i++)


            {


               System.out.println(vet(j, num)); //aki q he o problema, será q he por causa da inicialização feita acima…ou eu estou tentando acessar o vector de forma errada???	


            }











Valeu pela paciência





t+
A

Você está complicando d+ uma solução tão simples, veja que na modificação que eu fiz, eu apenas utilizo o get, isso é o que o Objeto vector lhe dispõe para capturar um valor interno dele.

Amanhã eu vejo isso e talvez otimize para você, mas agora to indo nessa… vou pra casa que meu horário acabou aqui na empresa!! hehe…



Abração véio, dá uma lida na api do objeto vector, é simples d+!



Fui





Code:




Integer num; //inicializo ela no for.

Vector vet = new Vector();

int i, j, n=0;

try

{

n=Integer.parseInt(leia.readLine());

for(i=0; i &lt; n; i++)

{

num=new Integer(Integer.parseInt(leia.readLine()));

vet.addElement(num);

}

for(j=0; j &lt; n; j++) {

System.out.println(vet.get(j));

}








Quote:


04/02/2003 ás 18:20, drspuc wrote:

Putz… de uma olhada no q estou tentando fazer.





Integer num; //inicializo ela no for.

Vector vet = new Vector();

int i, j, n=0;

try

{

n=Integer.parseInt(leia.readLine());

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

{

num=new Integer(Integer.parseInt(leia.readLine()));

vet.addElement(num);

}

for(j=0; j < n; i++)

{

System.out.println(vet(j, num)); //aki q he o problema, será q he por causa da inicialização feita acima…ou eu estou tentando acessar o vector de forma errada???

}







Valeu pela paciência…



t+


G
drspuc,


no teu último loop


for(j=0; j < n; i++)


tu  incrementando o i e não o j


for(j=0; j < n; j++)





sempre inicialize a variável no próprio for


for(int j=0; j < n; j++)


assim tu vai perceber o erro quando for compilar   :-]
J

O problema, alem de não estar incrementando corretamente o j(segundo for) é q vc está tentando usar o indice como se usa em um array. Vector é um objeto que oferece metodos para vc acessar cada objeto armazenado dentro dele. Dessa forma, para recuperar um objeto de indice i o que deve ser feito é:



vector.get(i);// retorna o objeto no indice i



ou



vector.elementAt(i);// tambem retorna o objeto no indice i



Do jeito que vc está fazendo:



vector(indice);



não rola…



valeuz…

[ Esta mensagem foi editada por: jack_-_ganzha em 14-02-2003 13:56 ]

Criado 4 de fevereiro de 2003
Ultima resposta 14 de fev. de 2003
Respostas 5
Participantes 4