[code]public class ItemDeVenda{
private int quantidade=0;
Produto prod = new Produto();
public ItemDeVenda(){}
public ItemDeVenda(Produto prod,int quantidade){
this.prod=prod;
this.quantidade=quantidade;
}
public double calcularPreco(double tpagar){
tpagar = prod.getValorUnit()*getQuantidade();
return tpagar;
}
//metodo get e set de quantida
public int getQuantidade(){
return quantidade;
}
public void setQuantidade(int quantidade){
this.quantidade=quantidade;
}
//metodo imprimir intem de venda
public void imprimeItemDeVenda(){
System.out.println("Produto: "+prod.getDescricao());
System.out.println("Quantidade: "+getQuantidade());
}
}[/code][code]public class Venda{
private String data="";
Cliente cli=null;
ItemDeVenda item =null;
Produto prod = new Produto();
// int x=0;
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 void imprimirVenda(){
System.out.println("Data: "+getData());
System.out.println("Cliente: "+cli.getNome());
System.out.println("Item: "+item);
}
}[/code]
parte da classe main
armazena_items[it] = new ItemDeVenda(armazena_produtos[posProd],quantidade);
armazena_venda[a] = new Venda("02/06/2006",armazena_clientes[posCli],armazena_items[0]);
armazena_venda[a].imprimirVenda();
pessoal eu queria que mostrasse a venda com o nome do cliente, enfim os dados em gerais
mas vejam o que aparece!
alguem sabe o que pode ser
Informe o nome do cliente: aldo
Informe o código do produto: 123
Data: 02/06/2006
Cliente: aldo
Item: ItemDeVenda@a62fc3
tenta fazer algo do tipo.
Quando você chama o comando “println()” passando um objeto como referencia, imprime o nome do objeto fornecido pelo método toString() herdado de Object.
você também pode sobrescrever o toString() para retornar o nome do seu item de venda.
Cara, põe no construtor do teu item para receber o nome e crie métodos get e set para o nome.
Depois imprime ele uai… postei aí em cima já. “item.getNome()”
cara, olha sua classe ItemDeVenda.
Nela vocẽ só tem os atributos “quantidade” e “produto”.
Se for pra imprimir o nome do produto dentro de ItemDeVenda, crie um getProduto que te retorna o produto e depois um getNome() dentro de produto.
Ou coloque um getNomeDoItemDeVenda() dentro de ItemDeVenda e imprima o nome.
no System.out.println(); tu põe só “item” daê ele vai imprimir o objeto.
Peça para imprimir o nome de alguma forma cara.
Não sei se esta utilizando ArrayList , porem vc pode utilização pois como ele eh dinâmico n importa o tamanho que ira ficar ,
dai se precisar passar para algum calculo ou algo assim quando vc passa o arrayList , o mesmo vc esta passando somente a copia da referencia
sem alocar memória desnecessária e talz .
Exato… Não que este seja o melhor modo de fazer isso, mas seguindo sua lógica, é só você sobrescrever o método toString() (que vem de Object) e, no retorno dele (que é String), retornar o nome do cliente…
eu tenho que mostrar as compras de um cliente, mas como faço para procurar o nome dele dentro sde um for, comparando o nome_digitado, com o nome que vai estar dentro do contrutor da classe venda
olha só
esse é meu contrutor da classe venda
public Venda(String data,Cliente cli,ItemDeVenda item){
this.data=data;
this.cli=cli;
this.item=item;
}
esse eh o que eu fiz mas nao da certo
[code]int pv=0;
nome_cliente = util.entradaString("Informe o nome do Cliente: ");
for(armazena_vendas.equalsIgnoreCase(nome_cliente)){
System.out.println(“Cliente encontrado!”);
//exibe as compras
}else{
System.out.println(“Cliente não encontrado”);