自定义 Triangle类,其中有成员x、y、z作为3条边长,构造方法Triangle(x,y,z)分别给X、y、Z赋值,求面积方法getArea(和显示三角形信息方法showInfo0中当3条边不能
时间: 2024-11-03 14:19:23 浏览: 40
当然可以。首先,我们创建一个名为`Triangle`的自定义类,用于表示一个三角形,它有三个成员变量代表边长(x, y, z),构造函数初始化这些边长,并提供计算面积的`getArea`方法以及显示三角形信息的`showInfo`方法。如果三条边长无法构成有效的三角形(即任意两边之和大于第三边),则在适当的地方添加条件判断。
```java
public class Triangle {
private double x;
private double y;
private double z;
// 构造函数接收三条边长
public Triangle(double x, double y, double z) {
if (isValidTriangle(x, y, z)) {
this.x = x;
this.y = y;
this.z = z;
} else {
throw new IllegalArgumentException("Invalid triangle sides: " + x + ", " + y + ", " + z);
}
}
// 检查是否能构成有效三角形的辅助方法
private boolean isValidTriangle(double a, double b, double c) {
return a + b > c && a + c > b && b + c > a;
}
// 计算并返回三角形的面积
public double getArea() {
double s = (x + y + z) / 2; // 半周长
return Math.sqrt(s * (s - x) * (s - y) * (s - z));
}
// 显示三角形信息的方法
public void showInfo() {
System.out.println("Triangle with side lengths:");
System.out.printf("x: %.2f\n", x);
System.out.printf("y: %.2f\n", y);
System.out.printf("z: %.2f\n", z);
if (isValidTriangle()) {
System.out.println("The area is: %.2f square units.", getArea());
} else {
System.out.println("This is not a valid triangle.");
}
}
}
// 使用示例
try {
Triangle triangle = new Triangle(3, 4, 5);
triangle.showInfo();
} catch (IllegalArgumentException e) {
e.printStackTrace();
}
```
阅读全文