Este repositório reúne exercícios classificados como de dificuldade básica ou intermediária, resolvidos durante as aulas de Java do DCE Mova-se (UniCEUB). Cada exercício propõe a criação de pequenos programas que praticam variáveis, estruturas de controle, entrada de dados, e outros fundamentos da linguagem.
- Desafio 1: Conversor de Temperatura
- Desafio 2: Gerador de Mensagem Codificada
- Desafio 3: Contador de Vogais e Consoantes
- Desafio 4: Calculadora com Funções
- Desafio 5: Jogo de Adivinhação
Arquivo: desafio1_conversor.java
Tópico: Variáveis e Tipos de Dados
Este exercício propõe a criação de um conversor de temperatura de Celsius para Fahrenheit, utilizando variáveis do tipo double e entrada de dados com a classe Scanner. O resultado deve ser exibido com duas casas decimais, usando System.out.printf().
- Solicitar ao usuário a temperatura em graus Celsius
- Converter para Fahrenheit utilizando a fórmula:
F = (C * 9/5) + 32 - Exibir o resultado formatado com duas casas decimais
Digite a temperatura em Celsius: 25
25.00°C equivalem a 77.00°F.
- Declaração e uso de variáveis do tipo
double - Operações matemáticas básicas
- Leitura de dados com
Scanner - Saída formatada com
System.out.printf()
Arquivo: desafio2_codificador.java
Tópicos: Manipulação de Strings e Arrays, Operações Matemáticas, Conversão de Tipos
Este exercício propõe a criação de um gerador de mensagens codificadas. O programa solicita ao usuário uma palavra e retorna uma mensagem no formato [primeira letra] [última letra] [quantidade de letras].
- Solicitar ao usuário uma palavra (
String) - Obter:
- A primeira letra da palavra
- A última letra da palavra
- O número total de letras
- Exibir a mensagem codificada no formato:
[primeira] [última] [tamanho]
Digite uma palavra: banana
Mensagem codificada: b a 6
Digite uma palavra: java
Mensagem codificada: j a 4
- Acesso a caracteres de uma string com
.charAt() - Cálculo de tamanho com
.length() - Formatação de saída com
System.out.printf() - Leitura de entrada com
Scanner
Arquivo: desafio3_contador.java
Tópico: Arrays e Strings
Este exercício propõe a criação de um programa que analisa uma frase digitada pelo usuário e conta quantas vogais e consoantes existem. Espaços e caracteres especiais são ignorados. Para facilitar a comparação, a frase é convertida para minúsculas usando .toLowerCase().
- Solicitar uma frase ao usuário
- Contar quantas vogais (a, e, i, o, u) e consoantes existem
- Ignorar espaços e caracteres especiais (como
!,?,,) - Exibir o total de vogais e consoantes separadamente
Digite uma frase: Olá, mundo!
Vogais: 4
Consoantes: 4
- Leitura de frases com
Scanner - Conversão de texto para minúsculas (
toLowerCase()) - Verificação de letras com
Character.isLetter() - Uso de
String.indexOf()para identificar vogais - Contagem condicional dentro de
for
Este exercício pode apresentar comportamentos inesperados ao ser executado diretamente no terminal do Visual Studio Code. Caso enfrente problemas, recomenda-se utilizar outra IDE como IntelliJ, Eclipse, ou um compilador online como OneCompiler ou OnlineGDB.
Arquivo: desafio4_calculadora.java
Tópico: Métodos, Operações Matemáticas e Entrada de Dados
Este exercício propõe a criação de uma calculadora que permite ao usuário escolher uma operação matemática e executa o cálculo usando métodos estáticos separados para cada operação.
- Exibir opções de operação: soma, subtração, multiplicação e divisão
- Usar
Scannerpara capturar:- A operação escolhida (
+,-,*,/) - Dois números reais (
double)
- A operação escolhida (
- Criar um método estático separado para cada operação
- Chamar o método correspondente com base na escolha do usuário
- Tratar o caso de divisão por zero ou número negativo com uma nova solicitação de entrada
Escolha uma operação:
+ -> Soma
- -> Subtração
* -> Multiplicação
/ -> Divisão
Digite um número: 10
Digite outro número: 2
Resultado: 5.0
- Declaração e uso de métodos estáticos
- Encapsulamento de lógica em funções reutilizáveis
- Estrutura condicional (
if/else if/else) - Leitura de entradas numéricas e textuais com
Scanner - Validação de entrada (divisão por zero ou número negativo)
Arquivo: desafio5_random.java
Tópico: Laços de Repetição, Condicional e Números Aleatórios
Este exercício propõe a criação de um jogo em que o usuário deve adivinhar um número secreto gerado aleatoriamente entre 1 e 100. O jogador tem até 5 tentativas, recebendo dicas a cada erro.
- Gerar um número aleatório entre 1 e 100 usando
Random - Permitir até 5 tentativas para o usuário adivinhar
- Após cada tentativa incorreta, exibir uma dica:
- “O número é MAIOR que X” ou “MENOR que X”
- Se o usuário acertar, exibir: “Você venceu!”
- Se esgotar as tentativas, exibir: “Você perdeu! O número era X”
Tentativa 1/5: Digite um palpite: 50
Dica: O número é MAIOR que 50.
Tentativa 2/5: Digite um palpite: 75
Dica: O número é MENOR que 75.
Tentativa 3/5: Digite um palpite: 63
Você venceu! O número era 63.
- Geração de números aleatórios com
Random - Controle de tentativas com
while - Comparação de valores e uso de
if/else - Lógica de repetição com contadores
- Exibição de mensagens condicionais
-
Compile o arquivo Java:
javac desafioX_nome.java
-
Execute o programa compilado:
java desafioX_nome