编写一个三角形类,如果三条边长无法构成三角或者边长为0,抛异常提醒用户。
时间: 2023-06-16 14:07:13 浏览: 48
以下是一个简单的三角形类实现,包括了对于无法构成三角形或者边长为0的判断并抛出异常的处理:
```java
public class Triangle {
private double a;
private double b;
private double c;
public Triangle(double a, double b, double c) throws Exception {
if (a <= 0 || b <= 0 || c <= 0) {
throw new Exception("边长必须为正数");
}
if (a + b <= c || a + c <= b || b + c <= a) {
throw new Exception("无法构成三角形");
}
this.a = a;
this.b = b;
this.c = c;
}
public double getPerimeter() {
return a + b + c;
}
public double getArea() {
double p = getPerimeter() / 2;
return Math.sqrt(p * (p - a) * (p - b) * (p - c));
}
}
```
在构造函数中,我们首先判断三条边长是否为正数,若不是则抛出异常。接着判断是否能构成三角形,若不能则同样抛出异常。最后,如果边长合法,则将其保存到对象的成员变量中。
这里我们只实现了获取三角形的周长和面积两个方法,可以根据需要添加其他方法。使用时,可以这样调用:
```java
try {
Triangle t = new Triangle(3, 4, 5);
System.out.println("周长:" + t.getPerimeter());
System.out.println("面积:" + t.getArea());
} catch (Exception e) {
System.out.println("错误:" + e.getMessage());
}
```
这里我们创建了一个边长为3、4、5的三角形对象,然后调用了其周长和面积的方法。若边长合法,则输出相应的值;否则输出错误信息。可以根据需要修改边长来测试不同情况下的输出结果。