计算最大公约数 创建Compute类,该类中有一个计算两个数的最大公约数的方法,如果向该方法传递负整数,该方法就会抛出自定义异常
时间: 2024-05-07 14:20:30 浏览: 55
好的,下面是一个示例的Compute类实现:
```java
public class Compute {
public int gcd(int a, int b) throws NegativeNumberException {
if (a < 0 || b < 0) {
throw new NegativeNumberException("传递的参数不能为负数!");
}
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
}
```
在上面的代码中,我们定义了一个Compute类和一个gcd方法,该方法接收两个整数作为参数,并且可能会抛出NegativeNumberException异常。如果传递的任何一个参数是负数,则抛出一个自定义异常。
在方法的主体中,我们使用了递归来计算最大公约数,直到b等于0为止。最后返回a作为最大公约数。
下面是NegativeNumberException类的实现:
```java
public class NegativeNumberException extends Exception {
public NegativeNumberException(String message) {
super(message);
}
}
```
在上面的代码中,我们定义了一个NegativeNumberException类,该类是Exception类的子类,表示当传递的参数是负数时抛出的异常。我们在该类中定义了一个构造函数,它接受一个字符串参数作为异常消息。
阅读全文