Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
2
respostas

Erro em código

No código abaixo, apresenta erro na linha 7 (sysout(fatorial)), mas não identifico o erro.

public class ProvaFatorial {
    public static void main(String[] args) {
        int n = 5;
        if (n > 1) {
            for (int fatorial = 1; n != 0; n--)
                fatorial = fatorial * n;
-->                System.out.println(fatorial);
        } else {
            System.out.println(n + "! = 0");
        }
    }
}

Consegui resolver dessa forma, mas não entendi porque dava o erro acima.

public class ProvaFatorial {
    public static void main(String[] args) {
        int n = 5;
        int fatorial = 1;
        if (n > 1) {
            for (; n != 0; n--)
                fatorial = fatorial * n;
                System.out.println(fatorial);
        } else {
            System.out.println(n + "! = 0");
        }
    }
}

Abraços!

2 respostas

Desculpe. Parece que coloquei no fórum errado. Era duas ou três aulas mais na frente, mas ok!

solução!

Fala, Rodolfo! Tudo bem contigo?

Na linha do for faltou abrir chaves no final

for (int fatorial = 1; n != 0; n--) {

E logo após o System.out.println(fatorial); fechar essas chaves

        int n = 5;
        if (n > 1) {
            for (int fatorial = 1; n != 0; n--) {
                fatorial = fatorial * n;
                System.out.println(fatorial);
            }
        } else {
            System.out.println(n + "! = 0");
        }

Feito isso, é só rodar!!!

Espero ter ajudado, Rodolfo!

Um abraço e bons estudos!