Olá, tutores e colegas!
Como já estudei a base de Java antes, usei os desafios para ir além dos enunciados. Em vez de códigos simples que rodam uma vez, decidi deixá-los mais completos: apliquei loops while e for, tratei dados e criei menus infinitos para o usuário escolher quando encerrar o programa.
Abaixo, deixo minhas versões finais limpas. Aceito feedbacks!
Desafio 3 - Crie um menu que oferece duas opções ao usuário: "1. Calcular área do quadrado" e "2. Calcular área do círculo". Solicite a escolha do usuário e realize o cálculo da área com base na opção selecionada.
package primeiroprograma;
import java.util.Scanner;
public class DesafioTres {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("-----Menu-----");
System.out.println("Opção 1 - Calcular área do quadrado");
System.out.println("Opção 2 - Calcular área do círculo");
System.out.println("Opção 3 - Sair");
System.out.print("Escolha a opção desejada (1, 2 ou 3): ");
int option = scanner.nextInt();
while (option != 3) {
if (option == 1) {
System.out.print("Digite o tamanho do lado do quadrado: ");
double lado = scanner.nextDouble();
double areaQuadrado = (lado * lado);
System.out.println(String.format("A área do quadrado é %.2f", areaQuadrado));
} else if (option == 2) {
System.out.print("Digite o diâmetro do circulo: ");
double diametro = scanner.nextDouble();
double raio = (diametro / 2);
double areaCirculo = (Math.PI * (raio * raio));
System.out.println(String.format("A área do circulo é %.2f", areaCirculo));
} else {
System.out.println("Opção inválida. Tente novamente...");
}
System.out.println("Opção 1 - Calcular área do quadrado");
System.out.println("Opção 2 - Calcular área do círculo");
System.out.println("Opção 3 - Sair");
System.out.print("Escolha a opção desejada (1, 2 ou 3): ");
option = scanner.nextInt(); // Atualiza a variável para o while testar de novo
}
System.out.println("Encerrando o programa...");
scanner.close();
}
}
Desafio 4 - Crie um programa que solicite ao usuário um número e exiba a tabuada desse número de 1 a 10.
package primeiroprograma;
import java.util.Scanner;
public class DesafioQuatro {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("-- MENU ---");
System.out.println("1 - Obter Tabuada");
System.out.println("2 - Sair do programa");
System.out.print("Escolha a opção desejada: ");
int opcao = scanner.nextInt();
if (opcao == 2) {
System.out.println("Encerrando o programa...");
break;
}
if (opcao == 1) {
System.out.println("Digite um número para obter sua tabuada!");
int numero = scanner.nextInt();
System.out.println("--- Tabuada do " + numero + " ---");
for (int fator = 1; fator <= 10; fator++) {
int produto = numero * fator;
System.out.println("-------------");
System.out.println(numero + " x " + fator + " = " + produto);
}
}
}
scanner.close();
}
}
Desafio 6 - Crie um programa que solicite ao usuário um número e calcule o fatorial desse número.
package primeiroprograma;
import java.util.Scanner;
public class DesafioSeis {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("-- MENU ---");
System.out.println("1 - Calcular o fatorial");
System.out.println("2 - Sair do programa");
System.out.print("Escolha a opção desejada: ");
int opcao = scanner.nextInt();
if (opcao == 2) {
System.out.println("Encerrando o programa...");
break;
}
if (opcao == 1) {
System.out.print("Digite um número para calcular o fatorial: ");
int numero = scanner.nextInt();
int resultado = 1;
for (int i = 1; i <= numero; i++) {
resultado *= i;
}
System.out.println("O fatorial de " + numero + " é: " + resultado);
}
}
scanner.close();
}
}