5、 编写代码,再main()方法中调用类CCircle中的方法,计算圆的面积。并且自己定义一个异常类,如果半径为负值,抛出自己定义的异常。(在类CCircle中判断并抛出异常)
时间: 2024-03-17 17:41:55 浏览: 20
好的,以下是代码实现:
```java
// 自定义异常类
class NegativeRadiusException extends Exception {
public NegativeRadiusException(String message) {
super(message);
}
}
// 圆类
class CCircle {
private double radius;
public CCircle(double radius) throws NegativeRadiusException {
if (radius < 0) {
throw new NegativeRadiusException("半径不能为负值!");
}
this.radius = radius;
}
public double getArea() {
return Math.PI * radius * radius;
}
}
// 测试类
public class Test {
public static void main(String[] args) {
try {
CCircle circle = new CCircle(-10); // 创建圆对象,半径为负值
double area = circle.getArea(); // 计算圆的面积
System.out.println("圆的面积为:" + area);
} catch (NegativeRadiusException e) { // 捕获自定义异常
System.out.println(e.getMessage());
}
}
}
```
在这个示例中,我们定义了一个自定义异常类 `NegativeRadiusException`,用于处理半径为负值的情况。在类 `CCircle` 的构造方法中,我们对半径进行了判断,如果半径为负值,就抛出自定义的异常。在 `main` 方法中,我们创建了一个半径为负值的圆对象,然后捕获了自定义的异常并输出了异常信息。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)