阶乘操作仅针对非负整数定义.处理这个问题的Java方法就是简单地抛出IllegalArgumentException一个负输入:
public static int factorial (int n) {
if (n < 0) {
throw new IllegalArgumentException ("n must be non-negative");
}
if (n == 0) {
return 1;
}
return n * factorial (n - 1);
}
Run Code Online (Sandbox Code Playgroud)