Intancias vetores em contrutores e depois imprimi-los

5 respostas
M

tenho um cliente que pode fazer 1 compra com ate 10 items…

depois disso tenho que imprimir a venda, com os 10 items que o cliente comprou, mas meu programa esta dando erro…mas nao sei o que eh!!!

observem minhas classes, alguem pode me dar uma ajudaa

eu tenho uma classe ItemDeVenda que tem esse contrutor abaixo

public ItemDeVenda(Produto prod,int quantidade){ this.prod=prod; this.quantidade=quantidade; }

e tenho uma classe venda que recebe em seu construtor a data o cliente e os 10 items que o cliente comprar, mas nao da certo na hora de imprimir p ver os itens que o cliente compro pois da erro no contrutor

olhem so minha classe de vendas

public Venda(String data,Cliente cli,ItemDeVenda item[]){ this.data=data; this.cli=cli; this.item=item; }

a duvida eh como deve instancia-las?
eu fiz certo em criar um vetor para 10 items na classe venda??

pessoal me ajudem por favorrr

5 Respostas

CrOnNoS

Pergunta básica: qual o erro ?
Pelo código que você passou ainda não vejo problemas

M

e que eh assim gostaria de saber como faço para jogar dentro do contrutor Venda, 10 items de venda, onde esses Item de Venda esta na classe ItemDeVenda, que possui lugar para colocar 10 item, e depois preciso joagr esses 10 items para clkasse venda…entendeu??

pedroroxd

Olha…
Eu acho que o erro está nisso:

public ItemDeVenda(Produto prod,int quantidade){ this.prod=prod; this.quantidade=quantidade; }
A quantidade , sempre vai ser o número que ele estiver recebendo…
Para ficar mais claro, vou mudar os nomes das variáveis:

public ItemDeVenda(Produto parametroprod,int parametroquantidade){ //Não sei seu código inteiro, mas a solução seria algo do tipo: prod = prod + parametroprod; quantidade = quantidade + parametroquantidade; //O que você estava fazendo: prod=parametroprod; //O produto era sempre o do parametro que voce tava recebendo //O que você tava fazendo: quantidade= parametroquantidade; //A quantidade era sempre a do parametro que voce tava recebendo }
Lógico, que se você está fazendo um array, ou uma lista é diferente…
Mas para agente ver o que pode fazer, vc tem que postar o código…

M
ok, observe eu tenho uma classe produto
public class Produto{
	private String codigo="";
	private String descricao="";
	private double peso=0;
	private double valorUnit=0;
	
	//construtores  Produto	
	public Produto(){}
	public Produto(String codigo,String descricao,double peso,double valorUnit){
		this.codigo=codigo;
		this.descricao=descricao;
		this.peso=peso;
		this.valorUnit=valorUnit;
	}	
	//motodos gets e sets
	public String getCodigo(){
		return codigo;
	}
	public void setCodigo(String codigo){
		this.codigo=codigo;
	}
	public String getDescricao(){
		return descricao;
	}
	public void setDescricao(String descricao){
		this.descricao=descricao;
	}
	public double getPeso(){
		return peso;
	}
	public void setPeso(double peso){
		this.peso=peso;
	}
	public double getValorUnit(){
		return valorUnit;
	}
	public void setValorUnit(double valorUnit){
		this.valorUnit=valorUnit;
	}	
	//metodo imprimir produto
	public void imprimirProduto(){
		System.out.println("Cdigo..........: " + getCodigo());
		System.out.println("Descrio.......: " + getDescricao());
		System.out.println("Peso............: " + getPeso());
		System.out.println("Valor Unitrio..: " +getValorUnit());	
	}	
}
tenho uma classe items, que armazena a quantidade e o produto
public class ItemDeVenda{
	private int quantidade=0;
	Produto prod = null;
	
	public ItemDeVenda(){}
	
	public ItemDeVenda(Produto prod,int quantidade){
		this.prod=prod;
		this.quantidade=quantidade;
	}  
	public double calcularPreco(){
		double tpagar=0;
		tpagar = prod.getValorUnit()*getQuantidade();
		return tpagar;
	}
	//metodo get e set de quantidade
	public int getQuantidade(){
		return quantidade;
	}
	public void setQuantidade(int quantidade){
		this.quantidade=quantidade;
	}

	//metodo toString
	public String toString(){
		String frase="";
		frase = "\nProduto: "+prod.getDescricao()+"\nQuantidade: "+getQuantidade()+"\nTotal a pagar: "+calcularPreco();	
		return frase;	
	}
}

e essa classe Venda que mostra 10 items dentro de um ocntrutor...

tipo eu queria efetuar a venda colocando os items dentro da venda..entendeu??

mas ele fica dando erro

olha minha classe venda
public class Venda{
	private String data="";
	private Cliente cli=null;
    ItemDeVenda item[] = new ItemDeVenda[10];
	
	public Venda(String data,Cliente cli,ItemDeVenda item[]){
		this.data=data;
		this.cli=cli;
		this.item=item;
	}

	public String getData(){
		return data;
	}
	public void setData(String data){
		this.data=data;
	}	
	public String toString(){
		String frase1="";
		frase1 = "\n\nData: "+getData()+"\nCliente: "+cli.getNome();
		return frase1;		
	}
	
}
pedroroxd

E qual é o problema?
Onde está dando erro?
Em qual linha? - Ponha um break point, e vai passando

Criado 11 de dezembro de 2009
Ultima resposta 11 de dez. de 2009
Respostas 5
Participantes 3