自定义类Triangle,其中有成员 x,y,z,作为三条边长,其构造方法分别给x,y,z赋值, 当三条边不能构成一个三角形时要抛出自定义异常类NoTriangleException;该类有求面积getArea和显示三角形信息showInfo方法。在主类中构造一个Triangle对象,要求能处理异常并显示三角形相关信息。
时间: 2024-02-05 18:13:30 浏览: 97
以下是代码实现:
```java
//自定义异常类NoTriangleException
class NoTriangleException extends Exception {
public NoTriangleException() {
super("这三条边不能构成三角形!");
}
}
//Triangle类
class Triangle {
private double x, y, z;
//构造方法
public Triangle(double x, double y, double z) throws NoTriangleException {
if (x + y <= z || x + z <= y || y + z <= x) {
throw new NoTriangleException();
}
this.x = x;
this.y = y;
this.z = z;
}
//求面积
public double getArea() {
double p = (x + y + z) / 2.0;
return Math.sqrt(p * (p - x) * (p - y) * (p - z));
}
//显示三角形信息
public void showInfo() {
System.out.println("三角形的边长分别为:" + x + "," + y + "," + z);
System.out.println("三角形的面积为:" + getArea());
}
}
//主类
public class Main {
public static void main(String[] args) {
try {
Triangle triangle = new Triangle(3.0, 4.0, 5.0);
triangle.showInfo();
} catch (NoTriangleException e) {
System.out.println(e.getMessage());
}
}
}
```
输出结果:
```
三角形的边长分别为:3.0,4.0,5.0
三角形的面积为:6.0
```
阅读全文