用java编写一个三角形类,能根据三个实数构造三角形对象,如果三个实数不满足三角形 的条件,则自动构造以最小值为边的等边三角形。输入任意三个数,输出构造的三角形面积。
时间: 2024-05-02 10:18:54 浏览: 85
以下是一个实现了上述需求的Java代码:
```java
public class Triangle {
private double a;
private double b;
private double c;
public Triangle(double a, double b, double c) {
if (a + b <= c || a + c <= b || b + c <= a) {
// 如果三个数不满足三角形条件,则构造以最小值为边的等边三角形
this.a = this.b = this.c = Math.min(Math.min(a, b), c);
} else {
this.a = a;
this.b = b;
this.c = c;
}
}
public double getArea() {
double p = (a + b + c) / 2; // 计算半周长
return Math.sqrt(p * (p - a) * (p - b) * (p - c)); // 应用海伦公式计算面积
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double a = scanner.nextDouble();
double b = scanner.nextDouble();
double c = scanner.nextDouble();
Triangle triangle = new Triangle(a, b, c);
System.out.println(triangle.getArea());
}
}
```
可以看到,这个三角形类有三个私有变量 `a`、`b`、`c` 分别存储三角形的三边长度,以及一个构造函数和一个方法。在构造函数中,首先判断三个数是否满足三角形条件,如果不满足,则构造以最小值为边的等边三角形;否则直接按照给定的三个数构造三角形。在 `getArea` 方法中,应用海伦公式计算三角形面积。在 `main` 方法中,读入三个数并构造一个三角形对象,最后输出其面积。
阅读全文