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
classe pedido
[code]import java.util.List;
import java.util.ArrayList;
import lojas.Produtos;
/**
*
-
@author raphael
*/
public class Pedido {
public List 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/
[/code]
…
classe produto
[code]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");
}
}
[/code]
Gente agradeço desde ja, so verificar se estar certo, opnioes…
abraços