hi Robert,
is the method 'choosingR(int n, int r)' supposed to be equal to C(n, r)?
If so, then your recursion is incorrect,
you should have that
(so, the base case is: if (r == 0) return 1; else ...)
Another recursion that you could use is
(Pascals Triangle), but that is not very efficient.
If you work with faculties (like n!), then be careful: n! overflows an int pretty fast. Better to use longs, or BigIntegers.