java创建类Computer,该类中有一个计算两个数的最大公约数的方法,如果向该方法传递负整数,该方法就会抛出自定义异常
时间: 2024-02-19 17:03:23 浏览: 16
好的,我理解了你的问题。下面是实现该类的Java代码:
```java
public class Computer {
public static 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);
}
}
class NegativeNumberException extends Exception {
public NegativeNumberException(String message) {
super(message);
}
}
```
在上面的代码中,我们创建了一个名为`Computer`的类,其中有一个名为`gcd`的静态方法,它接受两个整数参数并返回它们的最大公约数。如果其中任意一个参数是负数,则该方法会抛出一个自定义异常`NegativeNumberException`。
下面是一个使用`Computer`类的例子:
```java
public static void main(String[] args) {
try {
int a = -10;
int b = 20;
int result = Computer.gcd(a, b);
System.out.println("最大公约数是:" + result);
} catch (NegativeNumberException e) {
System.out.println(e.getMessage());
}
}
```
当我们执行上面的代码时,由于参数`a`是负数,所以`gcd`方法会抛出一个`NegativeNumberException`异常,我们通过`catch`语句块捕获该异常并输出错误信息。