[code]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;
}
}[/code]
minha classe venda que armazena a data de venda, o nome do cliente, e os items(até 10 itemns ) que ele comprou
[code]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;
}
}[/code]
minha duvida eh o seguinte, como eu faço para jogar no contrutor venda os 10 itemsn…porque meu codigo da o seguinte erro!
cannot find symbol method item(Produto,int)
[quote=michelato]pessoal tenho que fazer uma vrnda de ate 10 items
minha classe que Tem um contrutor de items
[code]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
@Override // coloquei pois tava faltando !!
public String toString(){
String frase="";
frase = "\nProduto: "+prod.getDescricao()+"\nQuantidade: "+getQuantidade()+"\nTotal a pagar: "+calcularPreco();
return frase;
}
}[/code]
minha duvida eh o seguinte, como eu faço para jogar no contrutor venda os 10 itemsn…porque meu codigo da o seguinte erro!
cannot find symbol method item(Produto,int)
Esse construtor vazio às vezes da erro!
Eu tive esse mesmo problema recenmtemente. Pq nao tenta retirar o construtor (Ja q vc vai querer instanciar objetos) e troca por um metodo qualquer?
tipo…recebeu um item…blza…vai la e seta
recebeu outro…ok…vai la e seta
o cliente nao quer amis compra
sai do do/while
e cria o construtor
mandando o vetor de itens
seto…armazena no vetor de itens
mas nao seu como faço issooooooo
Por favor, poste o stacktrace (erro) completo e também diga qual a sua necessidade, ou seja, a descrição do seu problema.
E só para deixar claro, esta linha:
ItemDeVenda itemDeVenda[] = new ItemDeVenda[10];
Você sabe o que está fazendo? Você está instanciando 10 Objetos do tipo ItemDeVenda, é exatamente isto que você quer?
Abraços.
E o formato deve ser exatamente este?
Não seria mais interessante ter uma lista de Itens?
Declara uma classe com os atributos que se faz necessário para um item, seus respectivos getters e setters e na sua venda você passa esta lista.
Desta forma não ficaria um código mais “limpo” e de fácil utilização?
n meu programa n posso usar array list, mas veja o q eu fiz deu certo, mas nao imprime depois a vanda…imprimie o nomeDoCliente, data mas n imprimeo produto e quantidade
[code]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()+"\nItem: "+item[].toString();
return frase1;
}
}[/code][code]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;
}
}[/code]Lista_items[a] = new ItemDeVenda(armazena_produtos[posProd],quantidade);
armazena_vendas[a] = new Venda(data,armazena_clientes[posCli],Lista_items);
a++;
tvendas++;
System.out.println(armazena_vendas[j].toString()); // ki imprime certo so a data e o cliente o resoto aparece uns negocio tipo assim 1321@454it
É simples, você está imprimindo o seu objeto no formato de String. Você deve pegar cada posição do seu array armazena_vendas[j], ele retorna um tipo de objeto e partir deste objeto você faz o .get() e pega os valores que deseja.