Exercícios de Programação Java
July 1, 2026 · View on GitHub
Idiomas: English · 简体中文 · Español · Français · Deutsch · 日本語 · Русский · 한국어 · Português
Pratique programação Java através de mais de 200 desafios de codificação práticos. Perfeito para iniciantes aprimorarem suas habilidades com projetos do mundo real, cobrindo estruturas de dados, algoritmos, OOP e conceitos básicos de Java.
Exercícios
| Índice | Nome | Dificuldade | Prática |
|---|---|---|---|
| 001 | Acessando Elementos em uma LinkedList | Iniciante | Iniciar Desafio |
| 002 | Acessando Elementos de um HashMap | Iniciante | Iniciar Desafio |
| 003 | Acessando Propriedades Estáticas de Outra Classe | Iniciante | Iniciar Desafio |
| 004 | Verificando a Igualdade de Strings | Iniciante | Iniciar Desafio |
| 005 | Criar LinkedList com Índice | Intermediário | Iniciar Desafio |
| 006 | Encontrando as Notas Mínimas e Máximas dos Alunos | Iniciante | Iniciar Desafio |
| 007 | Implementar Estrutura de Dados Deque | Intermediário | Iniciar Desafio |
| 008 | Implementando Expressão Lambda com Parâmetros | Iniciante | Iniciar Desafio |
| 009 | Implementando Herança Multinível | Iniciante | Iniciar Desafio |
| 010 | Remover o Segundo Elemento de um ArrayList | Iniciante | Iniciar Desafio |
| 011 | Ordenar Idades dos Jogadores em Ordem Crescente | Iniciante | Iniciar Desafio |
| 012 | Recuperação de Informações de Métodos de Classe | Intermediário | Iniciar Desafio |
| 013 | Execução Concorrente de Threads | Iniciante | Iniciar Desafio |
| 014 | Contagem de Ocorrências de Caracteres | Iniciante | Iniciar Desafio |
| 015 | Expressão Regular Personalizada | Intermediário | Iniciar Desafio |
| 016 | Problema de Compartilhamento de Dados em Sistema d... | Iniciante | Iniciar Desafio |
| 017 | Métodos Padrão em Múltiplas Interfaces | Iniciante | Iniciar Desafio |
| 018 | Desenhar Formas Geométricas | Intermediário | Iniciar Desafio |
| 019 | De Um Quarto para 0 | Intermediário | Iniciar Desafio |
| 020 | Implementação Manual de Fila | Intermediário | Iniciar Desafio |
| 021 | Expressões Lambda para Operações de Dados | Intermediário | Iniciar Desafio |
| 022 | Impressão de Informações de Elementos de Matriz | Intermediário | Iniciar Desafio |
| 023 | Remover Números Duplicados | Iniciante | Iniciar Desafio |
| 024 | Definir um preço para ingressos de atrações | Intermediário | Iniciar Desafio |
| 025 | Jogo da Divisão de Dinheiro entre Irmãos | Intermediário | Iniciar Desafio |
| 026 | Simulando uma Biblioteca | Iniciante | Iniciar Desafio |
| 027 | Resolvendo o Problema da Distribuição de Maçãs com... | Intermediário | Iniciar Desafio |
| 028 | Armazenando Informações de Dados Usando HashSet | Iniciante | Iniciar Desafio |
| 029 | Soma de Números Grandes | Intermediário | Iniciar Desafio |
| 030 | Soma dos Dígitos de um Número de Três Algarismos | Intermediário | Iniciar Desafio |
| 031 | O Único Deus | Iniciante | Iniciar Desafio |
| 032 | Uso de Stream | Intermediário | Iniciar Desafio |
| 033 | Validação do Número do Cartão de Identidade | Intermediário | Iniciar Desafio |
| 034 | Instrução de Impressão Simples em Java | Intermediário | Iniciar Desafio |
| 035 | Implementar Criptografia e Descriptografia | Intermediário | Iniciar Desafio |
| 036 | Acessar e Modificar o Nome do Aluno | Iniciante | Iniciar Desafio |
| 037 | Acessando o Método Sobrescrito da Superclasse | Iniciante | Iniciar Desafio |
| 038 | Acesso a Propriedades Estáticas em uma Classe | Iniciante | Iniciar Desafio |
| 039 | Acessando o Construtor da Superclasse | Iniciante | Iniciar Desafio |
| 040 | Adicionando Elementos a um ArrayList | Iniciante | Iniciar Desafio |
| 041 | Adicionando Elementos a ArrayLists em um Índice Es... | Iniciante | Iniciar Desafio |
| 042 | Programa de Cálculo de Área Usando Abstração | Iniciante | Iniciar Desafio |
| 043 | Calcular IMC Usando Peso e Altura | Iniciante | Iniciar Desafio |
| 044 | Calcular o Volume do Cubo a Partir do Lado | Iniciante | Iniciar Desafio |
| 045 | Calcular Bônus do Funcionário Baseado no Salário | Iniciante | Iniciar Desafio |
| 046 | Calcular Juros Baseado no Principal | Iniciante | Iniciar Desafio |
| 047 | Calcular a Altura Média dos Jogadores | Iniciante | Iniciar Desafio |
| 048 | Calcular Porcentagem com Arrays | Iniciante | Iniciar Desafio |
| 049 | Calcular Área do Retângulo Usando Classe | Iniciante | Iniciar Desafio |
| 050 | Calcular Dimensões do Retângulo | Iniciante | Iniciar Desafio |
| 051 | Calcular a Soma dos Dígitos | Iniciante | Iniciar Desafio |
| 052 | Calcular o Fatorial de um Número | Iniciante | Iniciar Desafio |
| 053 | Cálculo da Área de Dois Triângulos | Iniciante | Iniciar Desafio |
| 054 | Cálculo da Potência de um Número | Iniciante | Iniciar Desafio |
| 055 | Cálculo do Desvio Padrão em Java | Iniciante | Iniciar Desafio |
| 056 | Cálculo da Soma dos Números Naturais | Intermediário | Iniciar Desafio |
| 057 | Cálculo da Área de um Círculo | Iniciante | Iniciar Desafio |
| 058 | Cálculo da Área de um Quadrado | Iniciante | Iniciar Desafio |
| 059 | Chamando um Método Duas Vezes | Iniciante | Iniciar Desafio |
| 060 | Verificar Aprovação, Reprovação ou Nota Inválida | Iniciante | Iniciar Desafio |
| 061 | Verificando a Temperatura IcyHot Usando Java | Iniciante | Iniciar Desafio |
| 062 | Comparando os Primeiros e Últimos Elementos de um ... | Iniciante | Iniciar Desafio |
| 063 | Soma Contínua de Números Inseridos | Iniciante | Iniciar Desafio |
| 064 | Converter de Quilômetros para Milhas Usando Java | Iniciante | Iniciar Desafio |
| 065 | Contar as Vogais em uma String | Iniciante | Iniciar Desafio |
| 066 | Contagem de Dígitos em um Inteiro | Iniciante | Iniciar Desafio |
| 067 | Contagem de Ocorrências do Caractere 'a' | Iniciante | Iniciar Desafio |
| 068 | Crie um Programa de Calculadora | Iniciante | Iniciar Desafio |
| 069 | Criação de Classe Enum - Tamanho | Iniciante | Iniciar Desafio |
| 070 | Criação de uma Hierarquia Animal-Cão | Iniciante | Iniciar Desafio |
| 071 | Determinar os Fatores de um Número | Iniciante | Iniciar Desafio |
| 072 | Determinar a String Mais Longa a Partir das Entrad... | Iniciante | Iniciar Desafio |
| 073 | Determinar o Número Máximo de Apertos de Mão Entre... | Iniciante | Iniciar Desafio |
| 074 | Determinar a Nota do Aluno | Iniciante | Iniciar Desafio |
| 075 | Determinação da Igualdade de Dois Argumentos | Iniciante | Iniciar Desafio |
| 076 | Determinação de Par ou Ímpar | Iniciante | Iniciar Desafio |
| 077 | Determinação de Número Harshad em Java | Iniciante | Iniciar Desafio |
| 078 | Determinar Se um Número é Armstrong | Iniciante | Iniciar Desafio |
| 079 | Determinação do Status de Número Primo | Intermediário | Iniciar Desafio |
| 080 | Distribuir Chocolates Entre Crianças | Iniciante | Iniciar Desafio |
| 081 | Encapsulamento do Gerenciamento de Salário de Func... | Iniciante | Iniciar Desafio |
| 082 | Constantes Enum como Strings | Iniciante | Iniciar Desafio |
| 083 | Excluir Múltiplos de Três dos Números | Iniciante | Iniciar Desafio |
| 084 | Programa de Conversão de Fahrenheit para Celsius | Iniciante | Iniciar Desafio |
| 085 | Encontrar Diferenças Entre Dois HashSets | Iniciante | Iniciar Desafio |
| 086 | Encontrar a Interseção de Dois HashSets | Iniciante | Iniciar Desafio |
| 087 | Encontrar o Maior Múltiplo Menor que 100 | Iniciante | Iniciar Desafio |
| 088 | Encontrar o Menor Elemento do Array | Iniciante | Iniciar Desafio |
| 089 | Encontrar o Irmão Mais Novo | Iniciante | Iniciar Desafio |
| 090 | Encontrando Nemo em um ArrayList | Intermediário | Iniciar Desafio |
| 091 | Encontrando Números Primos em Intervalos | Intermediário | Iniciar Desafio |
| 092 | Encontrando o MDC de Dois Números | Intermediário | Iniciar Desafio |
| 093 | Encontrando o Mínimo Múltiplo Comum | Intermediário | Iniciar Desafio |
| 094 | Programa FizzBuzz: Explicação da Entrada do Utiliz... | Iniciante | Iniciar Desafio |
| 095 | Gerar Tabela de Multiplicação Usando Laços (Loops) | Iniciante | Iniciar Desafio |
| 096 | Maior Fator Excluindo Ele Próprio | Iniciante | Iniciar Desafio |
| 097 | Identificar Números Auto-Divisíveis | Intermediário | Iniciar Desafio |
| 098 | Identificação de Números Abundantes Usando Java | Iniciante | Iniciar Desafio |
| 099 | Implementar Interface para Calcular a Área do Quad... | Iniciante | Iniciar Desafio |
| 100 | Implementando uma Fila Usando uma LinkedList | Intermediário | Iniciar Desafio |
| 101 | Sobrecarga de Métodos para Diferentes Parâmetros | Iniciante | Iniciar Desafio |
| 102 | Sobrecarga de Métodos com Diferentes Tipos de Parâ... | Iniciante | Iniciar Desafio |
| 103 | Modificar Elementos em HashMap | Iniciante | Iniciar Desafio |
| 104 | Modificando um ArrayList com Java | Iniciante | Iniciar Desafio |
| 105 | Sobrescrita de Método em Múltiplas Classes | Iniciante | Iniciar Desafio |
| 106 | Múltiplas Classes Herdando de Uma Classe | Iniciante | Iniciar Desafio |
| 107 | Multiplicar Array por Dez | Iniciante | Iniciar Desafio |
| 108 | Demonstração de Sobrecarga de Método Final | Iniciante | Iniciar Desafio |
| 109 | Sobrescrevendo o Método da Classe Pai | Iniciante | Iniciar Desafio |
| 110 | Verificação de Número Palíndromo | Iniciante | Iniciar Desafio |
| 111 | Realizar Adição de Números Complexos | Iniciante | Iniciar Desafio |
| 112 | Programa de Conversão de Libras para Quilogramas | Iniciante | Iniciar Desafio |
| 113 | Tipos Primitivos para Classes Wrapper | Iniciante | Iniciar Desafio |
| 114 | Imprimir Qualquer Tipo de Dado | Iniciante | Iniciar Desafio |
| 115 | Imprimir Números Pares de um Array | Iniciante | Iniciar Desafio |
| 116 | Imprimir Caracteres Não Alfabéticos | Iniciante | Iniciar Desafio |
| 117 | Imprimir Valor de Qualquer Tipo de Dado | Iniciante | Iniciar Desafio |
| 118 | Impressão de Elementos de Array | Iniciante | Iniciar Desafio |
| 119 | Imprimindo Caracteres Individuais em uma String | Iniciante | Iniciar Desafio |
| 120 | Imprimindo uma Frase Três Vezes | Iniciante | Iniciar Desafio |
| 121 | Removendo Elementos de um HashMap | Iniciante | Iniciar Desafio |
| 122 | Programa de Inversão de Número | Iniciante | Iniciar Desafio |
| 123 | Calculadora de Lucro/Prejuízo da Loja | Iniciante | Iniciar Desafio |
| 124 | Programa de Cálculo de Juros Simples | Iniciante | Iniciar Desafio |
| 125 | Concatenação de Strings: Dois Textos Combinados | Iniciante | Iniciar Desafio |
| 126 | Conversão de String: Primeira Letra Maiúscula | Iniciante | Iniciar Desafio |
| 127 | Subtração de Coordenadas | Iniciante | Iniciar Desafio |
| 128 | Troca de Dois Números com Variável Temporária | Iniciante | Iniciar Desafio |
| 129 | Ângulos Internos Válidos de um Triângulo | Iniciante | Iniciar Desafio |
| 130 | Validar Condição de Ano Bissexto | Iniciante | Iniciar Desafio |
| 131 | Verificar o Status de Número Primo Usando Java | Iniciante | Iniciar Desafio |
| 132 | Verificação de Instância de Classe | Iniciante | Iniciar Desafio |
| 133 | Programa de Determinação de Elegibilidade para Vot... | Iniciante | Iniciar Desafio |
| 134 | Jogo de Batalha Aérea | Intermediário | Iniciar Desafio |
| 135 | Fissão Celular Alienígena | Intermediário | Iniciar Desafio |
| 136 | Área do Círculo com Qualquer Raio | Intermediário | Iniciar Desafio |
| 137 | Mercado de Vendas Automotivas | Intermediário | Iniciar Desafio |
| 138 | Programa de Conta Bancária | Intermediário | Iniciar Desafio |
| 139 | Flores Competem pela Beleza | Iniciante | Iniciar Desafio |
| 140 | Construção e Implantação do Spring Boot | Intermediário | Iniciar Desafio |
| 141 | Distribuição de Cartões de Visita | Intermediário | Iniciar Desafio |
| 142 | Criptografia de Cifra de César | Intermediário | Iniciar Desafio |
| 143 | Cálculo do Volume de um Cubo | Intermediário | Iniciar Desafio |
| 144 | Cálculo do Volume de um Cilindro | Intermediário | Iniciar Desafio |
| 145 | Simulação de Sala de Bate-Papo | Iniciante | Iniciar Desafio |
| 146 | Classificação de Notas da Turma | Iniciante | Iniciar Desafio |
| 147 | Propriedades e Métodos de Classe | Intermediário | Iniciar Desafio |
| 148 | Classificar Palavras por Classes Gramaticais | Iniciante | Iniciar Desafio |
| 149 | Gaiola de Galinhas e Coelhos Coexistentes | Intermediário | Iniciar Desafio |
| 150 | Conteúdo do Arquivo de Configuração | Intermediário | Iniciar Desafio |
| 151 | Configurando Parâmetros de Classe com Anotações | Iniciante | Iniciar Desafio |
| 152 | Contagem de Ocorrências de uma Substring | Intermediário | Iniciar Desafio |
| 153 | Definir Suas Anotações | Iniciante | Iniciar Desafio |
| 154 | Desenho e Implementação de Interface Gráfica | Intermediário | Iniciar Desafio |
| 155 | Desenho e Implementação de Múltiplas Interfaces | Iniciante | Iniciar Desafio |
| 156 | Determinar a Viabilidade de Retorno da Nave Espaci... | Intermediário | Iniciar Desafio |
| 157 | Determinar a Viabilidade de um Triângulo com Trata... | Iniciante | Iniciar Desafio |
| 158 | Sincronização dos Filósofos Cinderelos | Intermediário | Iniciar Desafio |
| 159 | Exibindo Informações de Dados Usando Iterador | Intermediário | Iniciar Desafio |
| 160 | Dividir Maçãs com Tratamento de Exceções | Intermediário | Iniciar Desafio |
| 161 | Programa Eficiente de Análise de Notas de Alunos | Iniciante | Iniciar Desafio |
| 162 | Inserir informações do aluno | Intermediário | Iniciar Desafio |
| 163 | Classe Enum para Informações de Gênero | Iniciante | Iniciar Desafio |
| 164 | Programação da Sequência de Fibonacci | Intermediário | Iniciar Desafio |
| 165 | Filtragem de Conteúdo de Arquivo | Iniciante | Iniciar Desafio |
| 166 | Upload de Arquivo Baseado no Protocolo UDP | Iniciante | Iniciar Desafio |
| 167 | Instruções de Controle de Fluxo para Múltiplos Req... | Intermediário | Iniciar Desafio |
| 168 | Preenchimento Divertido de Código | Iniciante | Iniciar Desafio |
| 169 | Obter Informações da Página Inicial do Google | Intermediário | Iniciar Desafio |
| 170 | Tratamento de Notas Incorretas | Iniciante | Iniciar Desafio |
| 171 | Olá LabEx Usando Java | Iniciante | Iniciar Desafio |
| 172 | Quantos Dias Tem Cada Mês | Intermediário | Iniciar Desafio |
| 173 | Implementar Thread de Temporizador de Contagem Reg... | Iniciante | Iniciar Desafio |
| 174 | Implementar uma classe Stock | Intermediário | Iniciar Desafio |
| 175 | Implementando o Triângulo de Pascal | Intermediário | Iniciar Desafio |
| 176 | Implementando a Divisão de Strings | Intermediário | Iniciar Desafio |
| 177 | Implementando Classe de Utilidade para Strings | Iniciante | Iniciar Desafio |
| 178 | Serviço Inteligente de Chamada de Cuidados | Intermediário | Iniciar Desafio |
| 179 | Interseção de Listas Encadeadas | Intermediário | Iniciar Desafio |
| 180 | Cálculo do Salário de Engenheiro Java | Iniciante | Iniciar Desafio |
| 181 | A Generosidade de Kong Rong | Intermediário | Iniciar Desafio |
| 182 | Simulação do Jogo de Cartas Landlords Usando Java | Intermediário | Iniciar Desafio |
| 183 | Lançamento do Cálculo Automatizado de Altura de Wa... | Intermediário | Iniciar Desafio |
| 184 | Classificação de Informações de Log | Iniciante | Iniciar Desafio |
| 185 | Amor à Primeira Vista | Iniciante | Iniciar Desafio |
| 186 | Maximizando a Pontuação do Xadrez Avião Usando Pro... | Intermediário | Iniciar Desafio |
| 187 | Estratégia para Maximizar a Destruição de Aeronave... | Intermediário | Iniciar Desafio |
| 188 | Valor máximo de três números. | Intermediário | Iniciar Desafio |
| 189 | Modificar o Design da Arma Usando Herança | Intermediário | Iniciar Desafio |
| 190 | Julgamento de Número Narcisista | Intermediário | Iniciar Desafio |
| 191 | Navegando a Ponte Espacial com Arrays em Java | Intermediário | Iniciar Desafio |
| 192 | Marketing da Loja de Joias 'Sem Dinheiro' | Intermediário | Iniciar Desafio |
| 193 | Número de Números Palíndromos | Intermediário | Iniciar Desafio |
| 194 | Nüwa Cria os Humanos | Intermediário | Iniciar Desafio |
| 195 | Obtenção de Objetos de Classe de Diferentes Classe... | Intermediário | Iniciar Desafio |
| 196 | Operações com Referências de Método | Intermediário | Iniciar Desafio |
| 197 | Seleção Ótima de Moedas para Compra de Mola | Intermediário | Iniciar Desafio |
| 198 | Otimização de Simulação de Corrida de Revezamento ... | Iniciante | Iniciar Desafio |
| 199 | Imprimir um Triângulo | Iniciante | Iniciar Desafio |
| 200 | Exibindo Informações do Livro | Intermediário | Iniciar Desafio |
| 201 | Análise de Dados XML com DOM | Iniciante | Iniciar Desafio |
| 202 | Ponto Dentro de um Triângulo | Intermediário | Iniciar Desafio |
| 203 | Implementação de Fila Produtor-Consumidor | Intermediário | Iniciar Desafio |
| 204 | Criação Reflexiva de um Objeto Pessoa | Iniciante | Iniciar Desafio |
| 205 | Liberar Recurso Scanner usando finally | Iniciante | Iniciar Desafio |
| 206 | Resgate a Princesa com Execução Condicional | Intermediário | Iniciar Desafio |
| 207 | Inverter Array Unidimensional em Java | Intermediário | Iniciar Desafio |
| 208 | Inverter Lista de Palavras de Saída | Iniciante | Iniciar Desafio |
| 209 | Inverter a Ordem das Palavras em Frases em Inglês | Intermediário | Iniciar Desafio |
| 210 | Reescrevendo o método equals | Intermediário | Iniciar Desafio |
| 211 | Executando Dados Alternadamente em Três Grupos | Iniciante | Iniciar Desafio |
| 212 | Análise SAX de Dados XML | Iniciante | Iniciar Desafio |
| 213 | Busca em um Array Bidimensional | Intermediário | Iniciar Desafio |
| 214 | Consulta de Informações do Usuário com Servlet | Intermediário | Iniciar Desafio |
| 215 | Sistema Simples de Gerenciamento de Estudantes | Intermediário | Iniciar Desafio |
| 216 | Sistema Simulada de Gestão Universitária | Intermediário | Iniciar Desafio |
| 217 | Controle de Velocidade da Nave Espacial | Intermediário | Iniciar Desafio |
| 218 | Poupe-me, Meu Senhor | Intermediário | Iniciar Desafio |
| 219 | Travessia em Espiral de uma Árvore | Intermediário | Iniciar Desafio |
| 220 | Subida de Escadas e Previsão de Saldo | Iniciante | Iniciar Desafio |
| 221 | Armazenamento de Informações de Dados Usando TreeS... | Intermediário | Iniciar Desafio |
| 222 | Treino de Força com Método Acumulativo | Intermediário | Iniciar Desafio |
| 223 | Construtores da Classe String | Iniciante | Iniciar Desafio |
| 224 | Estatísticas de Informação de Strings | Intermediário | Iniciar Desafio |
| 225 | Métodos da classe String | Iniciante | Iniciar Desafio |
| 226 | Sistema de Gestão de Estudantes | Intermediário | Iniciar Desafio |
| 227 | Sistema de Classificação de Notas dos Estudantes | Intermediário | Iniciar Desafio |
| 228 | Contagem de Ocorrências de Substring | Intermediário | Iniciar Desafio |
| 229 | Jogabilidade de Invocação de Elfos | Intermediário | Iniciar Desafio |
| 230 | O Bolso Mágico | Intermediário | Iniciar Desafio |
| 231 | A Parede Tem Ouvidos | Intermediário | Iniciar Desafio |
| 232 | A Terra Errante | Intermediário | Iniciar Desafio |
| 233 | O Desejo de Cinco Centavos | Intermediário | Iniciar Desafio |
| 234 | Compreendendo o Pool de Constantes | Iniciante | Iniciar Desafio |
| 235 | Validação de Cadastro de Usuário com Exceções | Intermediário | Iniciar Desafio |
| 236 | Usando Herança para Economizar Código | Iniciante | Iniciar Desafio |
| 237 | Quando Consigo Economizar Dinheiro Suficiente | Iniciante | Iniciar Desafio |
| 238 | Escrevendo Objetos em Arquivo | Iniciante | Iniciar Desafio |
| 239 | Yin e Yang | Iniciante | Iniciar Desafio |
About LabEx
LabEx is a hands-on learning platform for beginners.
Explore Linux, DevOps, Cybersecurity, and more — all directly in your browser.
Learn step by step through interactive labs, guided exercises, and real-world projects. 🌱
No setup, no stress — just practice and grow your skills by doing.
📖 Need help? Visit our Help Center or email info@labex.io