【问题描述】定义一个描述三角形的类,名字为Triangle,属性有: private double a, b, c; 方法有: double getPerimeter(),计算三角形的周长 doubl
时间: 2024-10-21 21:18:21 浏览: 48
好的,我可以为您描述一个名为`Triangle`的简单Java类,用于表示三角形,并提供所需的属性和方法。
```java
public class Triangle {
// 属性:三角形的三条边长
private double a, b, c;
// 构造函数,初始化三角形的边长
public Triangle(double a, double b, double c) {
if (a + b > c && a + c > b && b + c > a) { // 验证三角形条件
this.a = a;
this.b = b;
this.c = c;
} else {
throw new IllegalArgumentException("Invalid triangle sides");
}
}
// 方法:计算三角形的周长
public double getPerimeter() {
return a + b + c;
}
// 方法:返回最长边对应的角(余弦定理求解)
public double getAngleByLongestSide() {
double angleA = Math.acos(((b * b) + (c * c) - (a * a)) / (2 * b * c));
double angleB = Math.acos(((a * a) + (c * c) - (b * b)) / (2 * a * c));
double angleC = Math.PI - angleA - angleB; // Java 中 π 可以通过 Math.PI 获取
return Math.max(angleA, Math.max(angleB, angleC)); // 返回最大角的度数
}
// 方法:根据输入边长计算面积,海伦公式
public double getArea() {
double s = (a + b + c) / 2; // 半周长
return Math.sqrt(s * (s - c));
}
// 相关问题:
阅读全文