Este repositório reúne uma coleção de desafios práticos de lógica de programação, Programação Orientada a Objetos (POO) e estruturas de dados, todos implementados em Java.
O objetivo é reforçar a base de programação com exercícios progressivos, desde conceitos fundamentais até problemas mais estruturados, servindo como prática para entrevistas de estágio e vagas de desenvolvedor júnior.
- Cada desafio está em uma pasta própria, com nome padronizado.
- Dentro de cada pasta há a implementação em Java e, quando necessário, comentários explicando a proposta.
- Os desafios estão organizados por nível de dificuldade.
- Desafios já completados: ✅
- Desafios para realizar: ⬜
- ✅ 000. Olá, Mundo!
- ✅ 001. Verificador de Palíndromo
- ✅ 002. Soma de números únicos
- ✅ 003. Orientação a Objetos: Zoológico
- ✅ 004. Contador de Vogais
- ✅ 005. Fatorial
- ✅ 006. Números Primos
- ✅ 007. Inverter String
- ✅ 008. Saudação personalizada com ponto de exclamação
- ✅ 009. Receber dois números e mostrar operações
- ✅ 010. Verificar se uma string contém apenas dígitos
- ✅ 011. Calcular a área de um círculo (usuário informa o raio)
- ✅ 012. Converter Celsius ↔ Fahrenheit
- ✅ 013. Encontrar o maior de 3 números dados
- ✅ 014. Calcular média aritmética de uma lista de números
- ✅ 001. Soma dos Dígitos
- ✅ 002. Fibonacci até N termos
- ✅ 003. Remover Duplicados de um Array
- ✅ 004. Maior e menor número de uma lista
- ✅ 005. Contar Frequência de Caracteres
- ✅ 006. Par ou Ímpar
- ✅ 007. Tabuada de um número
- ✅ 008. Verificar Anagramas
- ✅ 009. Contar Palavras em uma Frase
- ✅ 010. Primeiro Caractere Repetido
- ✅ 011. Verificar se todos os caracteres são únicos
- ✅ 012. Caixa Eletrônico Simples (POO)
- ✅ 013. Validador de Senha
- ✅ 014. Remover elementos repetidos mantendo a ordem
- ✅ 015. Somar apenas números positivos de uma lista
- ✅ 016. Ordenar um array de inteiros (sem usar sort)
- ✅ 017. Transformar String em Título
- ✅ 018. Classificação de triângulo pelos lados
- ✅ 019. Potência
- ✅ 020. Resto da Divisão
- ✅ 021. Calcular o MDC (Máximo Divisor Comum) de dois números
- ✅ 022. Calcular o MMC (Mínimo Múltiplo Comum) de dois números
- ✅ 023. Implementar busca binária em um array ordenado
- ⬜ 024. Verificar se uma matriz quadrada é simétrica
- ⬜ 025. Rotacionar um array para a esquerda/direita
- ✅ 001. Contagem Regressiva
- ✅ 002. Números Pares de 1 a 100
- ✅ 003. Soma de 10 números digitados
- ✅ 004. Número Secreto com Tentativas Infinitas
- ✅ 005. Menu com do-while
- ✅ 006. Contar números negativos, positivos e zeros
- ✅ 007. Tabuada de vários números
- ✅ 008. Soma até número negativo
- ✅ 009. Verificar número perfeito
- ✅ 010. Gerador de sequência: potências de 2
- ✅ 011. Média de notas com laço
- ✅ 012. Número Primo com break
- ✅ 013. Contar dígitos de um número
- ✅ 014. Inverter número inteiro
- ✅ 015. Jogo de adivinhação com tentativas limitadas
- ✅ 016. Imprimir um triângulo de asteriscos alinhado à esquerda
- ✅ 017. Imprimir um triângulo de asteriscos alinhado ao centro
- ✅ 018. Imprimir no console um triângulo simétrico de asteriscos
- ⬜ 019. Verificar se um número é Armstrong
- ⬜ 020. Gerar a tabuada de todos os números de 1 a 10
- ⬜ 021. Simular um relógio digital (00:00 até 23:59)
- ⬜ 001. Conversor de decimal para binário
- ⬜ 002. Conversor de binário para decimal
- ⬜ 003. Verificar se um ano é bissexto
- ⬜ 004. Contar quantas vezes uma palavra aparece em um texto
- ⬜ 005. Gerar senhas aleatórias de tamanho definido pelo usuário
- ⬜ 001. Sistema de cadastro de alunos (usar classes, lista e métodos CRUD)
- ⬜ 002. Implementar uma fila e uma pilha com ArrayList (simulando estrutura de dados)
- ⬜ 003. Criar um sistema de agenda de contatos com busca por nome ou telefone
- ⬜ 004. Implementar um mini-sistema bancário com transferências entre contas
- ⬜ 005. Criar um programa que leia um arquivo de texto e conte as palavras mais frequentes
- ⬜ 006. Simular um jogo da velha para 2 jogadores no console
- ⬜ 007. Criar um programa que serialize e desserialize objetos em arquivos
- ⬜ 008. Implementar um sistema de notas de alunos usando HashMap (chave: nome, valor: lista de notas)
- ⬜ 009. Criar um simulador de carrinho de compras (POO + coleções)
- ⬜ 010. Desenvolver um mini-sistema de autenticação (login/senha) com persistência em arquivo
- Java 17+
- IntelliJ IDEA / Eclipse (recomendado)
- Terminal / Console para entrada de dados
Este repositório serve como base para:
- Treinamento de lógica de programação
- Prática de POO com exemplos aplicados
- Exercícios de estruturas de dados e algoritmos básicos
- Preparação para entrevistas e testes técnicos
Sinta-se à vontade para:
- Sugerir melhorias ✨
- Adicionar novos desafios 💡
- Corrigir ou refatorar soluções 🔧
📌 Em constante desenvolvimento... novos desafios são adicionados regularmente!
Este projeto está sob a licença MIT.