补完整这段代码,能输出错误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-02-14 20:05:20 浏览: 57
补全的代码如下:
```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;
}
}
class ArgumentException extends Exception {
/**
*
*/
private static final long serialVersionUID = 1L;
public ArgumentException(String message) {
super(message);
}
}
// 测试代码
public class Test {
public static void main(String[] args) {
Factorial factorial = new Factorial();
try {
long result = factorial.factorial(101);
} catch (ArgumentException e) {
System.out.println("错误:" + e.getMessage());
}
}
}
```
这段代码定义了一个求阶乘的方法 `factorial`,如果传入的参数 `n` 不在 0~100 范围内,则抛出自定义异常 `ArgumentException`。在测试代码中,我们创建了一个 `Factorial` 对象,并调用 `factorial` 方法,传入参数 101,会触发异常,并输出错误信息 "错误:参数异常!"。
阅读全文