Aumente a quantidade de números que terão os fatoriais impressos, até 20, 30, 40. Em um determinado momento, além desse cálculo demorar, vai começar a mostrar respostas completamente erradas. Porque? Mude de int para long, e você poderá ver alguma mudança
Resolve a questão, mas dar problema no calculo (na lógica), estou usando o long mas mesmo assim, vou colocar meu código ai embaixo quem puder me ajudar, a partir do 20 da outra resposta totalmente diferente.
import javax.swing.JOptionPane;
public class fatorial2 {
public static void main (String args [] ){
for (long n=1, fatorial = 1; n <=40; n++ ){
fatorial = (fatorial * n);
JOptionPane.showMessageDialog(null, n+ "!=" + fatorial);
}
}}