1
resposta

[Minha solução] Desafio: hora da prática

package exercicios;

import java.util.Scanner;

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

        //Primeira atividade
        System.out.println("****Primeira atividade - Positivo ou Negativo****");
        System.out.println("Digite um número inteiro");
        int numero = scanner.nextInt();

        if (numero > 0) {
            System.out.println("Número positivo");
        } else {
            System.out.println("Número negativo");
        }

       //Segunda Atividade
        System.out.println("----------------------------------------------------------------------------------------------------------------");
        System.out.println("****Segunda atividade - Maior ou igual****");
        Scanner comparacao = new Scanner(System.in);
        System.out.println("Digite um número inteiro");
        int primeiroNumero = comparacao.nextInt();
        System.out.println("Digite outro número inteiro");
        int segundoNumero = comparacao.nextInt();

        if (primeiroNumero > segundoNumero) {
            System.out.println("Os números são diferentes e o primeiro número é maior");
        } else if (primeiroNumero < segundoNumero) {
            System.out.println("Os números são diferentes e o segundo número é maior");
        } else {
            System.out.println("Os números são iguais");
        }

        //Terceira Atividade
        System.out.println("----------------------------------------------------------------------------------------------------------------");
        System.out.println("****Terceira atividade - Calculo de área****");
        System.out.println("Escolha: 1. Calcular a área do quadrado | 2. Calcular a área do circulo");
        int opcao = scanner.nextInt();

        if(opcao == 1){
            System.out.println("Digite o lado do quadrado");
            double lado = scanner.nextDouble();
            double area = lado * lado;
            System.out.println("Área do quadrado: " + area);
        } else if(opcao == 2){
            System.out.println("Digite o raio do círculo");
            double raio = scanner.nextDouble();
            double pi = 3.14;
            double area = pi * (raio * raio);
            System.out.println("Área do círculo: " + area);
        } else {
            System.out.println("Opção inválida");
        }

        //Quarta Atividade
        System.out.println("----------------------------------------------------------------------------------------------------------------");
        System.out.println("****Quarta atividade - Tabuada****");
        System.out.println("Digite um número inteiro");
        int numeroTabuada = scanner.nextInt();
        int contador = 0;

        while (contador <= 10) {
            System.out.println(numeroTabuada + " x " + contador + " = " + (numeroTabuada * contador));
            contador++;
        }

        //Quinta Atividade
        System.out.println("----------------------------------------------------------------------------------------------------------------");
        System.out.println("****Quinta atividade - Par ou Impar****");
        System.out.println("Digite um número inteiro");
        int numeroParOuImpar = scanner.nextInt();

        if(numeroParOuImpar % 2 == 0){
            System.out.println("Número par");
        } else {
            System.out.println("Número ímpar");
        }

        //Sexta Atividade
        System.out.println("----------------------------------------------------------------------------------------------------------------");
        System.out.println("****Sexta atividade - Fatorial****");
        System.out.println("Digite um número inteiro");
        int calculoFatorial = scanner.nextInt();
        int contadorFatorial = 1;

        for (int i = 1; i < calculoFatorial; i--) {
           contadorFatorial *= i;
        }

        System.out.println("O fatorial de " + calculoFatorial + " é " + contadorFatorial);
    }
}
1 resposta

Bom dia Aline! Tudo bem com você?

Meus parabéns pela conclusão dos desafios e por compartilhar o seu código com a comunidade do fórum Alura. Testei o seu código e percebi que, no exercício 6, há um pequeno ajuste necessário no laço for para garantir que o resultado esperado seja obtido.

Atualmente, o laço for não está incluindo o valor informado pelo usuário na variável calculoFatorial devido ao uso do operador < (menor que). Para que o número inserido também seja incluído no cálculo, precisamos usar <= (menor ou igual a). Isso permitirá que o loop percorra todos os números de 1 até o valor de calculoFatorial.

Além disso, o incremento da variável i não está configurado corretamente. O incremento é essencial para que o loop percorra todos os números de 1 até o valor de calculoFatorial, multiplicando-os para calcular o fatorial. Sem o incremento, o loop pode não funcionar como esperado. Para isso usaremos i++ no lugar de i--. O código do laço for ficará da seguinte forma:

for (int i = 1; i <= calculoFatorial; i++) {
            contadorFatorial *= i;
        }

Deixo abaixo o código completo do exercício 6 com as devidas correções:

package exercicios;

import java.util.Scanner;

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

        //Sexta Atividade
        System.out.println("----------------------------------------------------------------------------------------------------------------");
        System.out.println("****Sexta atividade - Fatorial****");
        System.out.println("Digite um número inteiro");
        int calculoFatorial = scanner.nextInt();
        int contadorFatorial = 1;

        for (int i = 1; i <= calculoFatorial; i++) {
            contadorFatorial *= i;
        }

        System.out.println("O fatorial de " + calculoFatorial + " é " + contadorFatorial);
    }
}

Após realizar as modificações acima, salve o arquivo e execute-o 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