编写一个三角形类,能根据3个实数构造三角形对象,如果三个实数不满足三角形的条件,则自动构造以最小值为边的等边三角形。输入任意三个数,求构造的三角形面积。用myeclipse写代码
时间: 2024-11-27 16:19:08 浏览: 9
你可以创建一个`Triangle`类,接受三个边长作为参数。如果它们不能构成合法的三角形,就使用这三个边中最短的一个来构造一个等边三角形。接着使用海伦公式计算三角形的面积。以下是MyEclipse中实现这个功能的代码示例:
```java
public class Triangle {
private double sideA;
private double sideB;
private double sideC;
public Triangle(double a, double b, double c) {
if (a <= 0 || b <= 0 || c <= 0) {
throw new IllegalArgumentException("Side lengths must be positive.");
}
// 检查能否构成三角形
if (a + b <= c || a + c <= b || b + c <= a) {
sideA = Math.min(a, b, c);
sideB = sideA;
sideC = sideA;
} else {
sideA = a;
sideB = b;
sideC = c;
}
}
public double getArea() {
// 海伦公式:s = (a + b + c) / 2
double semiPerimeter = (sideA + sideB + sideC) / 2;
// 计算面积
double area = Math.sqrt(semiPerimeter * (semiPerimeter - sideA) * (semiPerimeter - sideB) * (semiPerimeter - sideC));
return area;
}
public static void main(String[] args) {
try {
double[] sides = {5, 4, 6}; // 输入三个边长
Triangle triangle = new Triangle(sides[0], sides[1], sides[2]);
System.out.println("Area of the triangle: " + triangle.getArea());
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}
}
```
在这个例子中,如果你尝试构造一个无法形成三角形的三边长度,程序会抛出一个异常并提示。然后,如果给定的三个数确实能够形成三角形,就会计算其面积。
阅读全文