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=newArrayList<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
Para percorrer a sua list vc ainda precisa de um for, porem como é uma lista de objetos, vc tem que instancia-los
Um exemplo:
Listprodutos<Produto>=newArrayList();produtos.add(produto1);//aqui estou adicionando objetos produto na Listprodutos.add(produto3);produtos.add(produto2);for(inti=0;i<produtos.size();i++){Produtop=produtos.get(i);System.out.println("**** imprimindo produto"+i);System.out.println(p.getNome());System.out.println(p.getQuantidade());}
Qualquer duvida, posta aí…
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:
intvetor[]=newint[10];//10 posições
Para adicionar dados na lista você faz assim:
produtos.add(item);
Para manipulá-los:
produtos.get(indice);
N
nanamsl
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(intt=0; t<produtos.size(); t++){if(busca.equals(produtos)){
intquantos=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(intt=0; t<produtos.size(); t++){ Produtosp=produtos.get(t); if(busca.equals(p.getDescricao)){//umexemplointquantos=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
nanamsl
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
nanamsl
Entendiii!!!
Tentei fazer e ainda deu certo, é que faltam umas implementações.