1
resposta

Desafios Resolvidos

import java.util.Scanner;

public class Desafios {
    public static void main(String[] args) {
        Scanner capturar = new Scanner(System.in);

        //Primeira questão
        System.out.println("=== NEGATIVO OU POSITIVO ===");

        System.out.println("Digite o número: ");
        double valorQ1 = capturar.nextFloat();

        if (valorQ1 > 0){
            System.out.println("O número é positivo.");
        } else if (valorQ1 < 0) {
            System.out.println("O número é negativo.");
        } else {
            System.out.println("O número é neutro.");
        }

        //Segunda questão
        System.out.println("=== COMPARATIVOS ===");

        System.out.println("Digite o primeiro número inteiro: ");
        int valorQ2Primeiro = capturar.nextInt();

        System.out.println("Digite o segundo número inteiro: ");
        int valorQ2Segundo = capturar.nextInt();

        if (valorQ2Primeiro > valorQ2Segundo){
            System.out.println("O primeiro número é maior.");
        } else if (valorQ2Primeiro > valorQ2Segundo) {
            System.out.println(("O segundo número é maior."));
        } else {
            System.out.println("Os números são iguais.");
        }

        //Terceira questão
        System.out.println("=== FORMAS GEOMÉTRICAS ===");
        System.out.println("Qual área você quer calcular? (Digite o número)");
        System.out.println("1. Quadrado");
        System.out.println("2. Círculo");
        int forma = capturar.nextInt();

        if (forma == 1){
            System.out.println("Digite o valor dos lados em cm: ");

            double lado = capturar.nextDouble();
            double resultado = lado * lado;

            System.out.println("A área do quadrado é igual a " + resultado + " cm².");
        } else if (forma == 2) {
            System.out.println("Digite o valor do raio em cm: ");

            double raio = capturar.nextDouble();
            double resultado = 3.14 * (raio * raio);

            System.out.println("A área do círculo é igual a " + resultado + " cm².");
        } else {
            System.out.println("Opção inválida!");
        }

        //Quarta questão
        System.out.println("=== TABUADA ===");
        System.out.println("Digite um número inteiro: ");
        int valorQ4 = capturar.nextInt();

        for (int iQ4 = 1; iQ4 <= 10; iQ4++) {
            int multiplicacao = (iQ4 * valorQ4);
            System.out.println(valorQ4 + "X" + iQ4 + "=" + multiplicacao);
        }

        //Quinta questão
        System.out.println("=== PAR OU ÍMPAR ===");
        System.out.println("Digite um número inteiro: ");
        int valorQ5 = capturar.nextInt();

        int resto = valorQ5 % 2;

        if (resto == 0){
            System.out.println("O número é par.");
        } else {
            System.out.println("O número é ímpar.");
        }

        //Sexta questão
        System.out.println("=== FATORAÇÃO ===");
        System.out.println("Digite um número inteiro: ");
        int valorQ6 = capturar.nextInt();
        int fatorial = 1;

        for (int i = 1; i < valorQ6; i++) {
            fatorial *= i;
        }

        System.out.println("O valor fatorial é " + fatorial);
    }
}
1 resposta

Bom dia Natália! Tudo bem?

Meus parabéns pela resolução dos desafios. Gostaria de aproveitar a oportunidade e deixar uma recomendação de correção no código.

No código de resposta do segundo desafio, a verificação condicional de qual número é maior está duplicada, fazendo com que o resultado apresentado não seja como esperado, no seu código temos duas vezes a condição valorQ2Primeiro > valorQ2Segundo. Para corrigir, trocar o sinal de maior (>) pelo sinal menor (<), na estrutura else if. Seu código deve ficar como apresentado abaixo:

if (valorQ2Primeiro > valorQ2Segundo){
            System.out.println("O primeiro número é maior.");
        } else if (valorQ2Primeiro < valorQ2Segundo) {
            System.out.println(("O segundo número é maior."));
        } else {
            System.out.println("Os números são iguais.");
        }

No código de resposta do sexto desafio, será necessário ajustar a condição de término do laço for. Especificamente, você precisa incluir o sinal de igual (=) na comparação que define o final do laço, ficando assim: i <= valorQ6.

Como estamos calculando o fatorial de um número, é importante que o laço for inclua o número fornecido pelo usuário na iteração. No código original, o laço estava parando uma iteração antes do número desejado, o que resultava em um cálculo incorreto do fatorial.

Com a correção, seu código completo deve ficar assim:

for (int i = 1; i <= valorQ6; i++) {
            fatorial *= i;
        }

Dessa forma, o laço for vai multiplicar corretamente todos os números de 1 até o valor fornecido (valorQ6), garantindo que o fatorial seja calculado de maneira adequada.

Após realizar as correções listadas acima, salve o seu arquivo antes de executá-lo novamente.

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!