import java.util.Scanner; public class factorialV1 { public static void main (String[] args) { Scanner entrada = new Scanner (System.in); int numero, i; double factorial; // El rango de int y long con el factorial se desborda pronto, // compruebalo calculando por ejemplo 20! y 30! con int y long numero = -1; while (numero < 0) { System.out.print("Dime un numero entero no negativo: "); numero = entrada.nextInt(); } factorial = 1; i = 2; while (i <= numero) { factorial = factorial * i; i++; } System.out.println("El factorial de " + numero + " vale " + factorial); } }