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
" .