import java.math.BigInteger; import java.io.IOException; import java.io.InputStreamReader; import java.io.BufferedReader; public class Factorial_7_BufferedReader { public static final int MAX = 25; public static BigInteger factorial(int n) { BigInteger prod = BigInteger.ONE; for (int i=1; i<=n; i++) prod = prod.multiply(new BigInteger(i +"")); return prod; } public static void main(String[] args) { BufferedReader in = new BufferedReader( new InputStreamReader(System.in)); String line = ""; System.out.print("Enter a positive integer: "); try { line = in.readLine(); } catch (IOException e) { System.out.println("Could not read the input"); } int n = Integer.parseInt(line); System.out.println(n + "! = " + factorial(n) ); } }