2、自定义类Triangle,其中有成员 x,y,z,作为三条边长,其构造方法分别给x,y,z赋值, * 当三条边不能构成一个三角形时要抛出自定义异常类NoTriangleException; * 该类有求面积getArea和显示三角形信息showInfo方法。在主类中构造一个Triangle对象,要求能处理异常并显示三角形相关信息。
时间: 2024-02-11 19:03:53 浏览: 200
好的,让我们来逐步解决这个问题。
首先,我们需要定义一个三角形类Triangle,该类有三个成员变量x、y、z,表示三角形的三条边长。我们可以这样定义Triangle类:
```java
public class Triangle {
private double x;
private double y;
private double z;
public Triangle(double x, double y, double z) throws NoTriangleException {
if (!isTriangle(x, y, z)) {
throw new NoTriangleException("无法构成三角形");
}
this.x = x;
this.y = y;
this.z = z;
}
// 判断三条边是否可以构成三角形
public static boolean isTriangle(double x, double y, double z) {
return x + y > z && x + z > y && y + z > x;
}
// 求三角形面积
public double getArea() {
double p = (x + y + z) / 2;
return Math.sqrt(p * (p - x) * (p - y) * (p - z));
}
// 显示三角形信息
public void showInfo() {
System.out.println("三角形的三条边分别为:" + x + "," + y + "," + z);
System.out.println("三角形的面积为:" + getArea());
}
}
```
在Triangle类的构造函数中,我们需要判断三条边是否可以构成三角形,如果不能构成三角形,就抛出自定义异常类NoTriangleException。
在Triangle类中,我们还需要实现isTriangle方法来判断三条边是否可以构成三角形,以及实现getArea和showInfo方法来求三角形的面积和显示三角形信息。
接下来,在主类中构造一个Triangle对象,我们可以这样写:
```java
public class Main {
public static void main(String[] args) {
try {
Triangle triangle = new Triangle(3, 4, 5);
triangle.showInfo();
} catch (NoTriangleException e) {
System.out.println(e.getMessage());
}
}
}
```
在主类中,我们使用try-catch语句来捕获可能抛出的NoTriangleException异常,如果捕获到了异常,就打印异常信息。如果没有捕获到异常,就调用Triangle对象的showInfo方法来显示三角形信息。
以上就是解决这个问题的完整代码。希望能够帮到您!
阅读全文