Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Minha Resolução

Abaixo ! :D

package sintaxe_variaveis_e_fluxo;

//Nesse exercício opcional, o seu desafio é imprimir os fatoriais de 1 a 10!

public class TestaFatorialDe10 {

public static void main(String[] args) {

    int fatorial = 0;

    for (int i = 0; i <= 10; i++) {
        if (fatorial == 0) {
                System.out.println("O fatorial de " + i + "! é: 1");
            fatorial++;
        } else {
            fatorial *= i; // fatorial = fatorial * i;
            System.out.println("O fatorial de " + i + "! é: " + fatorial);
        }

    }
}

}

4 respostas

Olá Leonardo, tudo bem? Ao analisar o código que você postou, percebi que há um pequeno erro na inicialização da variável "fatorial". Ao invés de iniciá-la com o valor 1, ela está sendo iniciada com o valor 0, o que irá resultar em erros nos cálculos do fatorial.

Espero ter ajudado

Fala Otávio, bom dia! Então, por esse motivo eu incluir um "if", se o fatorial estiver igual a 0. Essa foi a forma que pensei para justamente inicializar, pois todo 0! = 1. Então sempre irá iniciar com a frase "O fatorial de " + i (no caso 0) + "! é: 1".

Na verdade fiz uma pequena alteração, para não ter muito processo manual. Mas, você acha que há uma forma melhor?

public class TestaFatorialDe10 {

public static void main(String[] args) {

    int fatorial = 0;

    for (int i = 0; i <= 10; i++) {
        if (fatorial == 0) {
            fatorial++;
            System.out.println("O fatorial de " + i + "! é: " + fatorial);
        } else {
            fatorial *= i; // fatorial = fatorial * i;
            System.out.println("O fatorial de " + i + "! é: " + fatorial);
        }

    }
}

}

solução!

Olá Leonardo, tudo bem?

Então, acho que ficaria mais simples assim:

class Fatorial {
    public static void main(String[] args) {
        int fatorial = 1;
        for (int i = 1; i < 11; i++) {
            fatorial *= i;
            System.out.println("Fatorial de " + i + " = " + fatorial);
        }
    }
}

Ah entendi, obrigado!