Difficulty with BigInteger

biginteger, factorial, java

Solution

`BigInteger` does not support comparison using `==` and multiplication using `*`. Instead, you have to call the appropriate methods of the `BigInteger` class (`equals()` and `multipy()`).

Also note that there exist `BigInteger.ZERO` and `BigInteger.ONE`.

Finally, the return type of your `fact` method should be `BigInteger` and not `int`. Whether you want the argument to be of type `BigInteger` or `int` is up to you.

Problem

I am trying to do Factorial with Recursion and BigIntegers but eclipse is complaining about the BigInteger. I know the program is supposed to be simple but it is giving me headache. Here is the code. ``` import java.util.Scanner; import java.math.BigInteger; public class Factorial { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("Enter integer"); BigInteger n = input.nextBigInteger(); System.out.println("Factorial of " + n + " is " + fact(n)); } public static int fact(BigInteger n) { if(n ==0) { return 1; } else { return n * fact(n-1); } } } ```

Original source