0
respostas

[Projeto] ControleDeEstoque

package br.com.nadson.desafiosc7.modelo;

public class Estoque {
    private String nomeDoProduto;
    private int estoqueDisponivel;

    public Estoque(String nomeDoProduto, int estoqueDisponivel) {
        this.nomeDoProduto = nomeDoProduto;
        this.estoqueDisponivel = estoqueDisponivel;
    }

    public boolean processarVenda(int quantidadeVendida) {
        System.out.printf(
                "Estoque de %s antes da venda de %d unidades: %d%n",
                nomeDoProduto, quantidadeVendida, estoqueDisponivel
        );

        if (quantidadeVendida <= 0) {
            System.out.println("Quantidade inválida para venda.");
            return false;
        }

        if (quantidadeVendida <= estoqueDisponivel) {
            estoqueDisponivel -= quantidadeVendida;
            System.out.printf("Venda de %d unidades realizada com sucesso.%n", quantidadeVendida);
        } else {
            System.out.println("Estoque insuficiente para realizar a venda.");
            return false;
        }

        System.out.printf("Estoque de %s após a venda: %d%n", nomeDoProduto, estoqueDisponivel);
        return true;
    }

    public void adicionarEstoque(int quantidade) {
        if (quantidade <= 0) {
            System.out.println("Quantidade inválida para reposição.");
            return;
        }
        estoqueDisponivel += quantidade;
        System.out.printf("%d unidades adicionadas ao estoque de %s. Estoque atual: %d%n",
                quantidade, nomeDoProduto, estoqueDisponivel);
    }

    public String getNomeDoProduto() {
        return nomeDoProduto;
    }

    public int getEstoqueDisponivel() {
        return estoqueDisponivel;
    }
}
package br.com.nadson.desafiosc7.principal;

import br.com.nadson.desafiosc7.modelo.Estoque;

public class ControleDeEstoque {

    public static void main(String[] args) {

        Estoque produtoA = new Estoque("Produto A", 10);
        Estoque produtoB = new Estoque("Produto B", 5);

        realizarVendas(produtoA, 3, 8);
        realizarVendas(produtoB, 2, 4);
    }

    private static void realizarVendas(Estoque estoque, int... quantidades) {
        for (int quantidade : quantidades) {
            estoque.processarVenda(quantidade);
            System.out.println("-------------");
        }
    }
}