java定义一个triangle类求面积方法和显示三角形信息方法中三条边不能构成三角形时抛出自定义异常NotTriangleException
时间: 2024-11-04 10:14:30 浏览: 7
给出三个点求三角形的面积JAVA.txt
在Java中,为了处理三角形边长无效的情况,你可以定义一个自定义异常`NotTriangleException`,并在`Triangle`类中添加相应的检查并抛出异常。以下是实现这一需求的代码:
```java
public class NotTriangleException extends Exception {
public NotTriangleException(String message) {
super(message);
}
}
public class Triangle {
private double sideA;
private double sideB;
private double sideC;
// 构造函数接收边长,添加边长有效性检查
public Triangle(double sideA, double sideB, double sideC) throws NotTriangleException {
if (!isValidTriangle(sideA, sideB, sideC)) {
throw new NotTriangleException("The given sides cannot form a valid triangle.");
}
this.sideA = sideA;
this.sideB = sideB;
this.sideC = sideC;
}
// 判断是否能形成有效三角形的辅助方法
private boolean isValidTriangle(double a, double b, double c) {
return a + b > c && a + c > b && b + c > a;
}
// 计算面积的方法
public double getArea() {
// 省略面积计算代码,因为我们已经假设它在构造函数中通过了有效性检查
}
// 显示三角形信息的方法,包括边长和面积(如果已计算)
public void displayInfo() {
System.out.println("Triangle with sides A=" + sideA + ", B=" + sideB + ", C=" + sideC);
// 要显示面积,首先确保已经计算过
try {
double area = getArea();
System.out.println("Area: " + area);
} catch (NotTriangleException e) {
System.out.println(e.getMessage());
}
}
}
// 主程序示例
public static void main(String[] args) {
try {
Triangle triangle = new Triangle(3, 4, 5);
triangle.displayInfo();
} catch (NotTriangleException e) {
System.out.println(e.getMessage());
}
}
```
在这个版本中,如果你尝试创建一个无法构成三角形的三角形实例,将会抛出`NotTriangleException`。
阅读全文