e come faccio a cambiare i dati della classe? cioè come fa ad andare avanti il for del fattoriale se modificola variabile "i" in biginteger? dato che hai detto che è immutabile...
codice:
import java.math.*;
import java.util.*;
public class Fattoriale{
	public static void main(String args[]){
		Scanner read = new Scanner(System.in);
		long n = -1;
		System.out.println("__CALCOLO DEL FATTORIALE__");
		do{
			System.out.println("Inserire un numero intero positivo:");
			boolean m = read.hasNextInt();
			if(m == true)
				n = read.nextInt();
			else
				read.next();
		}
		while(n < 0);
		long fattoriale=1;
		for(long i=n; i >= 1; i--){
			fattoriale = i * fattoriale;
		}
		System.out.println(n+"!=" + fattoriale);
	}
}