Imprimir varios item

10 respostas
cido18

Ola a todos, estou fazendo um teste de cadastro de produtos.Só que gostaria de adicionar varios produtos e imprimir os mesmos.Vou postar o codigo aqui caso alguem consiga me ajudar fico muito grato.

package CadastroProdutos;

public class CadProduto extends Produtos {

private String nomeProduto;

private int id=0;

private CadProduto cadProdutos[];

private int qtd;

private int qtdMax=100;

private double preco;
public CadProduto(String nome,double preco,int qtd){
	this.nomeProduto=nome;
	this.preco=preco;
	this.qtd=qtd;
	this.cadProdutos= new CadProduto[qtdMax];
}

public void setNome(String umNome){
	this.nomeProduto=umNome;
}

public void setPreco(double umPreco){
	this.preco=umPreco;
}

public void setId(int umId){
	this.id=umId;
}

public void setQtd(int umaQtd){
	this.qtd=umaQtd;
}

public String getNome(){
	return nomeProduto;
}

public double getPreco(){
	return preco;
}

public int getId(){
	return id;
}

public int getQtd(){
	return qtd;
}

private void gerarId(){
	id=id+1;
}

public void addProdutos(String txt,double preco,int qtd){
	CadProduto c= new CadProduto(txt,preco,qtd);
}


public void imprimiDados(){
	System.out.println("Nome do Produto:"+getNome());
	System.out.println("Preco:"+getPreco());
	System.out.println("Quantidade:"+getQtd());
	gerarId();
	System.out.println("Id:"+getId());
}

public void imprimiProdutos(){
	for(int i=0;i<qtdMax;i++){
		cadProdutos[i].imprimiDados();
	}
}

}

Fiz um main  que quando mando copilar ele acaba dando um :

Exception in thread main java.lang.NullPointerException

at CadastroProdutos.CadProduto.imprimiProdutos(CadProduto.java:69)

at MainTeste.MainTeste.main(MainTeste.java:11)

10 Respostas

Guitar_Men

Cara, primeiro procura postar seu código usando a tag code. E se puder colar o main ai também seria mais fácil ajudar…

M

cara… que sets sao esses?

public void setNome(String umNome){ 
this.nomeProduto=umNome; 
} 

public void setPreco(double umPreco){ 
this.preco=umPreco; 
} 

public void setId(int umId){ 
this.id=umId; 
}
cido18

Qual o problema com os sets???

cido18
package MainTeste;
import CadastroProdutos.CadProduto;

public class MainTeste {
	public static void main(String[] args) {
		CadProduto cp= new CadProduto("Celular",173.11,1);
		cp.addProdutos("Lampada",10.00,2);
		cp.imprimiProdutos();
	}

}

Aqui esta o main, a minha ideia é ir adicionar produtos na classe(mais pra frente fazer um db com os dados), ao final de adicionar produtos gostaria de imprimir todos os item, só que não gostaria de instanciar varias vezes a classe.
Deu para entender +/- ?

M

nao sei pq vc usou o umPreco, umNome, umId, porque o “um”?

cido18

Na verdade acho que fica mais facil… não vai muda muita coisa …

cido18

tem como exemplificar em codigo ai por favor?

cido18

kkk quebra a cabeça é comigo mesmo é por que num usei o list por issi pedi um exemplo e acho que esse que vc me deu vai ser o suficente,agradeço vo procurar um pouco mais sobre list qualquer coisa posto o cod de novo.Muito obrigado pessoal

WellingtonRamos

cido18:
Aqui esta o main, a minha ideia é ir adicionar produtos na classe(mais pra frente fazer um db com os dados), ao final de adicionar produtos gostaria de imprimir todos os item, só que não gostaria de instanciar varias vezes a classe.
Deu para entender +/- ?

E qual o problema de fazer várias instâncias da mesma classe?

Só acho que CadProduto não deveria ser feito da forma que foi.
Eu teria CadProduto com um List de produtos (List ) e o método imprimeProdutos e a classe Produto teria os atributos de cadastramento.

WellingtonRamos
cido18:
tem como exemplificar em codigo ai por favor?
Na verdade, prefiro que vc quebre um pouco a cabeça ;) É só um exemplo. Vc precisará complementar um pouco o código.
class Produto {
  //atributos relacionados
  private String nomeProduto; 
  private int id=0; 
  //os demais, por sua conta, exceto o array. Esse não entra!

  //respectivos getters e setters
}

class CadProdutos {
  List<Produto> produtos = new ArrayList<Produto>();
  
  void add(Produto p) {
    produtos.add(p);
  }
}

A sim, notei que seu addProduto não faz nada :( e seu imprimeProdutos acessa um array vazio.

Criado 29 de agosto de 2010
Ultima resposta 30 de ago. de 2010
Respostas 10
Participantes 4