两个方法getArea求面积,显示三角形信息showInfo。这两个方法中当三条边不能构成三角形要抛出自定义异常NotTriangleException,否则显示正确信息
时间: 2023-06-10 19:08:34 浏览: 52
下面是一个Java的例子代码,演示了如何实现这两个方法并处理自定义异常:
```java
class NotTriangleException extends Exception {
public NotTriangleException() {
super("This is not a triangle.");
}
}
class Triangle {
private double a, b, c;
public Triangle(double a, double b, double c) {
this.a = a;
this.b = b;
this.c = c;
}
public double getArea() throws NotTriangleException {
if (a + b <= c || a + c <= b || b + c <= a) {
throw new NotTriangleException();
}
double p = (a + b + c) / 2;
return Math.sqrt(p * (p - a) * (p - b) * (p - c));
}
public void showInfo() {
try {
double area = getArea();
System.out.println("This is a triangle with sides " + a + ", " + b + ", " + c);
System.out.println("Area: " + area);
} catch (NotTriangleException e) {
System.out.println(e.getMessage());
}
}
}
public class Main {
public static void main(String[] args) {
Triangle t1 = new Triangle(3, 4, 5);
t1.showInfo();
Triangle t2 = new Triangle(1, 2, 3);
t2.showInfo();
}
}
```
在上面的代码中,自定义异常类NotTriangleException继承了Exception类,它用于表示当三条边不能构成三角形时的异常情况。Triangle类有一个构造函数和两个方法:getArea和showInfo。getArea方法计算三角形的面积,如果三条边不能构成三角形,则抛出自定义异常NotTriangleException。showInfo方法调用getArea方法来计算面积,并显示三角形的信息,如果抛出了NotTriangleException,则显示异常消息。在main函数中,我们创建了两个Triangle对象,并调用了它们的showInfo方法来显示它们的信息。第一个Triangle对象的边长符合三角形的条件,所以它的信息和面积都被正确地显示出来了。而第二个Triangle对象的边长不符合三角形的条件,所以它抛出了NotTriangleException,并显示了异常消息。