Este projeto é um sistema de gerenciamento de estoque desenvolvido em Java, com o objetivo de aplicar conceitos de Programação Orientada a Objetos (POO). Ele foi criado como parte de um estudo para reforçar conhecimentos em Java e POO, além de servir como uma atividade prática para a cadeira de Laboratório de Programação.
O sistema permite:
- Cadastrar produtos.
- Registrar entradas de produtos no estoque.
- Listar produtos e suas entradas.
- Gerenciar a quantidade de produtos disponíveis.
O sistema oferece as seguintes funcionalidades:
- Cadastrar Produto: Permite cadastrar um novo produto com nome e código.
- Listar Produtos: Exibe todos os produtos cadastrados no sistema.
- Cadastrar Entrada de Produto: Registra uma entrada de produto no estoque, com quantidade, data e preço unitário.
- Listar Entradas de Produto: Exibe todas as entradas registradas para um produto específico.
- Sair: Encerra o sistema.
O projeto está organizado da seguinte forma:
EntradaProduto: Representa uma entrada de produto no estoque, com quantidade, data e preço.Produto: Representa um produto no estoque, com nome, código, quantidade disponível e uma lista de entradas.
Sistema: Gerencia a interação com o usuário e controla as operações do sistema, como cadastro de produtos e entradas.
- Atributos:
quantidade(int): Quantidade de produtos entrados.data(String): Data da entrada.preco(double): Preço unitário do produto.
- Métodos:
toString(): Retorna uma representação textual da entrada de produto.
- Atributos:
nome(String): Nome do produto.codigo(int): Código único do produto.quantidadeProduto(int): Quantidade disponível do produto.entradas(ArrayList): Lista de entradas do produto.
- Métodos:
getNome(),getCodigo(),getEntradas(): Métodos de acesso aos atributos.adiconarEntradaProduto(EntradaProduto entradaProduto): Adiciona uma entrada à lista de entradas do produto.setQuantidadeProduto(int quantidade): Atualiza a quantidade disponível do produto.toString(): Retorna uma representação textual do produto.
- Atributos:
produtos(ArrayList): Lista de produtos cadastrados.scanner(Scanner): Objeto para leitura de entrada do usuário.
- Métodos:
exibirMenu(): Exibe o menu principal do sistema.cadatrarProduto(): Cadastra um novo produto.listarProdutos(): Lista todos os produtos cadastrados.cadastrarEntradaProduto(): Registra uma entrada de produto no estoque.listarEntradasProduto(): Lista as entradas de um produto específico._buscarProdutoPorCodigo(int codigo): Busca um produto pelo código._adiconarProduto(String nome, int codigo): Adiciona um novo produto à lista._adiconarEntradaProduto(Produto produto, int quantidade, String data, double preco): Adiciona uma entrada de produto ao estoque.
-
Pré-requisitos:
- Java JDK 21 ou superior.
- IDE de sua preferência (ex.: IntelliJ, Eclipse) ou terminal.
-
Passos:
- Clone o repositório:
git clone https://github.com/uanesdev/Java-Estoque-POO
- Abra o projeto na sua IDE ou compile via terminal:
javac -d bin src/br/com/estoque/sistema/Sistema.java
- Execute o sistema:
java -cp bin br.com.estoque.sistema.Sistema
- Clone o repositório:
-
Uso:
- Siga as instruções do menu para cadastrar produtos, registrar entradas e listar informações.
Este projeto está licenciado sob a MIT License.