Projeto desenvolvido em Java com foco em modularização, organização por domínio matemático e implementação manual de algoritmos clássicos. Mais do que uma calculadora simples, este sistema funciona como uma mini biblioteca matemática, cobrindo múltiplas áreas da matemática computacional.
- Visão Geral
- Módulos do Sistema
- Diferenciais Técnicos
- Estrutura do Projeto
- Como Executar
- Validações Implementadas
- Melhorias Futuras
- Autor
Este sistema foi projetado para:
- Consolidar conceitos de Programação Orientada a Objetos (POO)
- Implementar algoritmos matemáticos sem dependência de bibliotecas externas
- Organizar funcionalidades por domínio matemático
- Evoluir de um programa simples para uma arquitetura modular e escalável
- Soma, subtração, multiplicação e divisão
- Potenciação
- Módulo (resto da divisão)
- Raiz quadrada (implementação própria)
- Fatorial
- Funções matemáticas adicionais
- Seno, cosseno e tangente
- Secante, cossecante e cotangente
- Tratamento de indeterminações (ex: divisão por valores próximos de zero)
- Verificação de primalidade
- MDC via Algoritmo de Euclides
- MMC
- Divisores e propriedades numéricas
- Média, mediana e moda
- Variância amostral
- Desvio padrão
- Soma de vetores
- Produto escalar e norma de vetor
- Soma e multiplicação de matrizes
- Cálculo de determinantes
- ✅ Organização modular por domínio matemático
- ✅ Implementação manual de algoritmos (sem uso de
Math.*onde aplicável) - ✅ Tratamento de exceções para validação de domínio matemático
- ✅ Separação entre lógica de negócio e interface (menu)
Calculadora-Java/
├── src/
│ └── main/
│ └── java/
│ └── com/renato/calculadora/
│ ├── app/
│ │ └── MenuPrincipal.java
│ ├── service/
│ │ ├── AritmeticaService.java
│ │ ├── AvancadoService.java
│ │ ├── TrigonometricaService.java
│ │ ├── NumeroService.java
│ │ ├── EstatisticaService.java
│ │ └── AlgebraLinearService.java
│ └── utils/
│ └── MathUtils.java
├── target/
├── pom.xml
└── README.md
- Java JDK 8+
- Maven (recomendado)
git clone https://github.com/renatoibressan/Calculadora-Java.git
cd Calculadora-Javamvn compile
mvn exec:java -Dexec.mainClass="com.renato.calculadora.app.MenuPrincipal"mkdir -p out
find . -name "*.java" -exec javac -d out {} \;
jar cfe Calculadora.jar com.renato.calculadora.app.MenuPrincipal -C out .
java -jar Calculadora.jarImporte o projeto como Maven Project no Eclipse, IntelliJ IDEA ou NetBeans e execute a classe MenuPrincipal.
O sistema trata os seguintes casos inválidos:
- Divisão por zero
- Raiz quadrada de número negativo
- Matrizes com dimensões incompatíveis
- Vetores de tamanhos diferentes
- Entradas fora do domínio matemático esperado
Este projeto foi desenvolvido com foco em:
- Evolução prática em Java
- Construção de código limpo e modular
- Implementação de algoritmos matemáticos fundamentais
- Estruturação de sistemas organizados por responsabilidade
- Interface gráfica com JavaFX ou Swing
- Testes automatizados com JUnit
- Entrada de dados mais robusta e validada
- Implementação de algoritmos mais avançados
- Refatoração completa da camada de menu
Desenvolvido por Renato Bressan