1
resposta

[Projeto] Desafio 6 (Fatorial): hora da prática

  public static void main(String[] args) {
        Scanner entrarComDado = new Scanner(System.in);
        int fatorial = 0;

        System.out.println("Digite um número para calcular o seu fatorial: ");
        int numeroParaFatorial = entrarComDado.nextInt();
        int guardaNumeroFatorialDigitado = numeroParaFatorial;

        for (fatorial = 1; numeroParaFatorial > 1; numeroParaFatorial--) {
           fatorial = fatorial * numeroParaFatorial;
        }
        System.out.println(String.format("O fatorial de %d é %d", guardaNumeroFatorialDigitado, fatorial));
    }
1 resposta

Oi Sara,

Seu código está quase perfeito! 👍

O problema está na inicialização da variável fatorial. Ao inicializá-la com 0, o resultado da multiplicação sempre será 0.

Para corrigir, inicialize fatorial com 1.

public static void main(String[] args) {
    Scanner entrarComDado = new Scanner(System.in);
    int fatorial = 1; // Inicialização correta

    System.out.println("Digite um número para calcular o seu fatorial: ");
    int numeroParaFatorial = entrarComDado.nextInt();
    int guardaNumeroFatorialDigitado = numeroParaFatorial;

    for (; numeroParaFatorial > 1; numeroParaFatorial--) {
        fatorial = fatorial * numeroParaFatorial;
    }
    System.out.println(String.format("O fatorial de %d é %d", guardaNumeroFatorialDigitado, fatorial));
}

Para saber mais: Operadores em Java

Continue praticando e explorando o mundo da programação! 💪 💻