1
resposta

Assim esta certo o Desafio Fatorial


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

Olá Pablo, tudo bem?

A conta que está sendo feita no seu for é a seguinte:

*Leve em consideração o valor das variáveis

A primeira interação ficaria

fatorial = 0 * 1 - 0;

Dessa forma o valor atribuido para fatorial seria 0 e continuaria contendo esse valor por todas as interações seguintes por causa da expressão que está sendo feita dentro do laço, a única coisa que mudará será o número de "i" por causa do auto incremento "i++", o que não importa já que ele sempre será multiplicado por zero(0).

Além disso o que está sendo exibido pelo "System.out.println("Fatorial de " + i + " = " + i);", são as posições de i que está sendo concatenado duas vezes.

Portanto para atender as requisições do exercício pode-se utilizar a variável fatorial e inicia-la com o valor "1" e dentro do laço apenas multiplicar a variável i, do laço, pelo fatorial e atribuir esse resultado para ele mesmo, ou seja, fatorial = fatorial * i; ou fatorial *= i;. E ao invés de concatenar duas vezes a variável i no System.ou.println() coloque-a apenas o fatorial de qual número está sendo feito e para exibir o resultado do fatorial concatene a variável "fatorial" .