Java递归阶乘方法返回一些负数。

bluesky1年前 ⋅ 137 阅读

ChatGPT的回答仅作参考:

Java递归阶乘方法不应该返回负数。阶乘的定义是对于非负整数n,n的阶乘(记作n!)是所有小于等于n的正整数的乘积。因此,如果输入的参数是负数,递归阶乘方法应该抛出异常或返回一个错误值。

以下是一个示例的递归阶乘方法,它会检查输入参数是否为负数,并抛出异常:

```java
public static int factorial(int n) {
    if (n < 0) {
        throw new IllegalArgumentException("输入参数不能为负数");
    }
    if (n == 0) {
        return 1;
    }
    return n * factorial(n - 1);
}
```

在调用该方法时,如果传入负数,将会抛出IllegalArgumentException异常。

全部评论: 0

    相关推荐