Ta certo?

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

Oi,

Apenas algumas observações:

[quote]

  • Método Construtor deve receber os seguinte parâmetros: Um Cliente, Um Vendedor, Classe Pedido[/quote]
    Método construtor de quem? Mesmo assim em nenhum construtor esta fazendo isso…

Na classe Produto.java deveria ter um método para este controle, algo como EstoqueConsultar(Pedido)

No código abaixo:

[code] public boolean adicionarProduto(Produto produto, int quantidade) {
boolean retorno = false;

    if (this.existeProduto(produto) < 0) {
        if ( produto.getEstoque() >= quantidade ) {  
            if (true /*se todas as validações forem atendidas*/) {  // ?????? Se deve entrar sempre aqui, retira o IF
            
                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.");  
    }  
   [/code]

E detalhe: Not implemented yet

Tchauzin!

Ah sim,valeu… mais esta certo ?
so criar o construtor?
abraço valeu