补完整这段代码,能输出参数,并检查参数是否错误package grade; public class Factorial { public long factorial(int n) throws ArgumentException { if (n < 0 || n > 100) { throw new ArgumentException("参数异常!"); } long result = 1; for (int i = 1; i <= n; i++) { result = i; } return result; } } class ArgumentException extends Exception { /* * */ private static final long serialVersionUID = 1L; public ArgumentException(String message) { super(message); } }
时间: 2024-01-24 21:01:46 浏览: 64
下面是补全后的代码,其中加入了一个 main 函数用于测试:
```java
package grade;
public class Factorial {
public long factorial(int n) throws ArgumentException {
if (n < 0 || n > 100) {
throw new ArgumentException("参数异常!");
}
long result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
public static void main(String[] args) {
Factorial factorial = new Factorial();
try {
long result = factorial.factorial(5);
System.out.println("5的阶乘为:" + result);
} catch (ArgumentException e) {
System.out.println(e.getMessage());
}
}
}
class ArgumentException extends Exception {
private static final long serialVersionUID = 1L;
public ArgumentException(String message) {
super(message);
}
}
```
在上面的代码中,我们实现了计算阶乘的函数 factorial,并在其中检查参数是否合法。如果参数不在 [0, 100] 的范围内,就会抛出自定义的异常 ArgumentException。在 main 函数中,我们创建了一个 Factorial 对象,并调用其 factorial 函数计算 5 的阶乘。如果计算成功,就输出结果;如果抛出异常,就输出异常信息。
阅读全文