Esta certo o que foi pedido?
Classe Pedido
Método Construtor deve receber os seguinte parâmetros: Um Cliente, Um Vendedor, Classe Pedido, método Construtor deve receber os seguinte parâmetros:
Um Cliente, Um Vendedor, adicionarProduto ? adiciona um determinado produto ao pedido nformando a quantidade a ser adicionada.
O produto deve estar disponível (atributo disponibilidade);
A quantidade de parâmetro deve ser maior que zero;
Ao adicionar o produto a quantidade do produto no pedido deve
ser menor ou igual ao estoque do produto (atributo estoque do
objeto de Produto);
Só poderá ser adicionado um produto na lista se ele ainda não
fizer parte do pedido (não existir na lista);
Ao adicionar o produto a lista, retirar do estoque a quantidade
informada;
Retornar boolean true para sucesso ao adicionar o produto e false
se não atendeu os requisitos; retirarProduto ? retira um determinado produto do pedido.
o Se o produto existir no pedido:
retornar a quantidade de estoque ao produto;
Remover o produto da lista;
Exibir mensagem de retirada do produto;
Retornar true, Se o produto não existir no pedido, Exibir mensagem informando que o produto não faz parte do pedido, retornar false, concluirPedido ? conclui o pedido e exibe as informações do pedido e seus
produtos. Validar a existência de pelo menos 1 (um) produto no pedido para
ser um pedido válido; Se não houver produtos exibir uma mensagem
informada
import java.util.List;
import java.util.ArrayList;
import lojas.Produtos;
/**
*
* @author raphael
*/
public class Pedido {
public List<Produtos> produtos;
public Pedido() {
produtos = new ArrayList();
}
/*Verifica se um determinado produto (parProduto) existe na lista*/
private int existeProduto(Produto parProduto){
int retorno = -1; /*pressupõe que não encontrará o produto*/
Produtos p;
/*percorre toda a lista em busca do produto*/
for (int i = 0; i < produtos.size(); i++) {
/*i define o index de um objeto da lista*/
p = produtos.get(i); /*p faz referencia a um objeto da lista de index i*/
if (p.produto.equals(parProduto)) { /*Verifica se o produto de produtos é igual ao parProduto*/
retorno = i;
break; // cai fora do laço de pesquisa
}
}
return retorno; /*retorna -1 ou o index do produto na lista*/
}
public boolean adicionarProduto(Produto produto, int quantidade) {
boolean retorno = false;
if (this.existeProduto(produto) < 0) { //Se o produto ainda não foi adicionado ao pedido
if ( produto.getEstoque() >= quantidade ) {
if (true /*se todas as validações forem atendidas*/) {
//retirar estoque do produto
Produtos objProdutos = new Produtos(produto, quantidade);
this.produtos.add(objProdutos);
}
} else {
System.out.println("Estoque indisponÃvel para o produto " + produto.getNome());
}
} else {
System.out.println("O produto já faz parte do pedido, para alterar a quantidade retire o produto e informe nova quantidade.");
}
return retorno;
} /*fim de adicionarProduto(Produto produto, int quantidade)*/
public boolean retirarProduto(Produto produto) {
boolean retorno = false;
int indice = this.existeProduto(produto); /*recebe -1 ou a posição do produto na lista*/
if (indice >= 0) { //Se o produto ainda não foi adicionado ao pedido
this.produtos.remove(indice);
} else {
System.out.println("O produto não faz parte do pedido.");
}
return retorno;
} /*fim de adicionarProduto(Produto produto, int quantidade)*/
/*Verifica se um determinado produto (parProduto) existe na lista*/
public boolean concluirPedido(){
boolean retorno = false;
if (this.produtos.size() > 0) { /*é válido se houver produtos no pedido*/
//Exibir dados do pedido
//this.cliente.getNome();
System.out.println("#### DADOS DO PEDIDO ####");
//percorre toda a lista para exibir produtos
for (int i = 0; i < produtos.size(); i++) {
System.out.println("Produto: " + produtos.get(i).produto.getNome().toUpperCase());
System.out.println(" #Valor: " + produtos.get(i).produto.getValor());
System.out.println(" #Quantidade: " + produtos.get(i).getQuantidade());
System.out.println(" ### Total Produto: " + produtos.get(i).totalProduto());
}
//Exibir total do pedido
System.out.println("TOTAL DO PEDIDO: " + "total");
} else {
System.out.println("Pedido inválido. Não há produtos no pedido.");
}
return retorno; /*retorna -1 ou o index do produto na lista*/
}
}
/*fim da classe*/
public class Produto {
private String nome;
private int valor;
private int estoque;
public Produto(String nome, int valor, int estoque) {
this.nome = nome;
this.valor = valor;
this.estoque = estoque;
}
public int getEstoque() {
return estoque;
}
public void setEstoque(int estoque) {
this.estoque = estoque;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getValor() {
return valor;
}
public void setValor(int valor) {
this.valor = valor;
}
void adicionarEstoque(int i) { [b][i][u]Aki ? qyue que eu faço....[/b][/i][/u]
throw new UnsupportedOperationException("Not yet implemented");
}
}
Gente agradeço desde ja, so verificar se estar certo, opnioes....
abraços