Vetor

10 respostas
N

No semestre passado estava acostumada a fazer vetor simples, apenas com for.
Um for para pegar a informações do usuario
e outro para imprimir, que ficaria:

for (..............) System.out.println(vetor[i]);

Assim apareceria todos os dados que estivessem em meu vetor.
Só que agora faço OO,
Tenho um vetor:

List<Produtos> produtos = new ArrayList <Produtos>();

Já peguei as informações do usuário e para imprimir na tela não sei fazer!
Eu tentei

JOptionPane.showMessage( List<Produtos>  )

Não faço ideia se está certo, mas aparece erro no ‘>’ .
Mas gostaria de imprimir na tela todas as informações de dentro do vetor
como no caso

System.out.println(vetor[i])

Eu sei que ficou meio confuso.
Mas espero que entendam e tenta me ajudar :smiley:

10 Respostas

jLady

Olá,

Para percorrer a sua list vc ainda precisa de um for, porem como é uma lista de objetos, vc tem que instancia-los

Um exemplo:

List produtos<Produto> = new ArrayList();
produtos.add(produto1);//aqui estou adicionando objetos produto na List
produtos.add(produto3);
produtos.add(produto2);

for(int i = 0; i< produtos.size(); i++){
			Produto p = produtos.get(i);
			System.out.println("**** imprimindo produto"+i);
			System.out.println(p.getNome());
			System.out.println(p.getQuantidade());
		}

Qualquer duvida, posta aí…
:wink:

Ravnus

List quer dizer que você está criando uma lista e especificando que os membros dessa lista são do tipo Produtos.

List<Produtos> produtos;

Isso é um vetor de int:

int vetor[] = new int[10]; //10 posições

Para adicionar dados na lista você faz assim:

produtos.add(item);

Para manipulá-los:

produtos.get(indice);
N

Muuito Obrigada. Deu super certo!

Então mais uma duvida que eu tenho, eu to fazendo uma feira, tem um switch, case 1 cadastra os produtos, o 2 é a venda.

No 2 o usuario precisa falar o produto vendido. Só que ele só pode vender os produtos que estao cadastrados no case 1.

Então eu fiz um for com uma busca. Só que a busca nao ta funcionando.

for (int t=0; t<produtos.size(); t++){
										
					if(busca.equals(produtos)){
						
						int quantos=Integer.parseInt(JOptionPane.showInputDialog("Quantos(as) "+busca+" serão comprados?"));
					}
					else{
						JOptionPane.showMessageDialog(null,"Produto não cadastrado, favor cadastrar ou digite o produto correto.", "ERRO", 2);
					}

MEsmo que eu cadastre um produto e va para o case 2 informando o produto q eu ja cadastrei o programa pula direto para o else!
E alias eu nem sei se a busca ta certa.

Obrigada!!!! :lol:

Ravnus

Não entedi a sua dúvida, posta o código que envolve essas partes. =D

jLady

A questão é… voce tem objetos da classe Produto salvo na sua list produtos…
por isso sua busca está dando errado

Essa sua variavel busca provavelmente seja uma string do nome do produto (me corrija se eu estiver errada), entao voce tem que criar uma instancia de produto para comparar

for (int t=0; t<produtos.size(); t++){  
             Produtos p = produtos.get(t);                             
                    if(busca.equals(p.getDescricao)){  //um exemplo
                          
                        int quantos=Integer.parseInt(JOptionPane.showInputDialog("Quantos(as) "+busca+" serão comprados?"));  
                    }  
                    else{  
                        JOptionPane.showMessageDialog(null,"Produto não cadastrado, favor cadastrar ou digite o produto correto.", "ERRO", 2);  
                    }

Como está sua classe Produtos?

Ravnus

Agora eu entendi o que ela quer, mas ainda preciso do código. =D

busca é um método? Posta ele também.

Sò achei estranho que o seu código está contando os produtos, é esse o seu objetivo? Contar determinados produtos que foram vendidos? Já que vai fazer um switch, por que não faz um contador dos produtos? Bom, estou esperando. =D

N

Exatamente, a buca é String com o nome do produto.

Uma instancia do produto, seria eu criar um objeto? é isso?

Então a minha classe do produto, acho que nao convem por aqui que ta bem grande.
Mas nada demais.
Tem os atributos como, preço, codigo,quantidade.
Os getters e setter e também um metodo imprimir. Só!

Ravnus

Então tenta a sugestão da Marcela. Sendo assim, acho que dá.

O que eu tinha ficado na dúvida era com relação ao busca, mas creio que esteja certinho, já que é uma String.equals().

jLady

então… hehe… era isso mesmo…
pra poder comparar voce tem que criar um objeto da classe pra comparar a string busca com o nomeProduto ou sei la o atributo que voce quiser…

porque senao voce esta comparando um objeto inteiro com uma string…

vc entendeu?
qlqr coisa eu coloco um exemplo melhor…

N

Entendiii!!!

Tentei fazer e ainda deu certo, é que faltam umas implementações.

Muito obrigada!

Criado 28 de outubro de 2010
Ultima resposta 28 de out. de 2010
Respostas 10
Participantes 3