Spiegazione chiarissima...grazie davvero!

Ma se io volessi dare all'utente la possibilità di inserire un numero a piacere di cui calcolare il fattoriale?

Vorrei inserire una serie di stampe a video come queste:
codice:
System.out.println("::CALCOLO DEL FATTORIALE::");
System.out.println("Inserisci un numero:" + numero);
System.out.println("Il fattoriale calcolato del numero" + numero + "!" + "è:" + FattorialeCalcolato);
e dare la possibilità di calcolare il fattoriale di qualsiasi numero...

Cosa dovrei modificare del codice...non posso inizializzare il new BigInteger a cui tu hai assegnato "12" perchè non avrebbe senso...

come faccio?