编写一个代表三角形的类。其中,三条边为三角型的属性,并封装有求三角形的面积和周长的方法。并设计构造方法和toString() 方法。分别针对三条边为3,4,5和8,8,12的两个三角形进行测试,要求面积保留小数点后两位
时间: 2024-10-12 18:08:11 浏览: 45
当然,我们可以创建一个名为`Triangle`的Java类来表示三角形,包含三条边(sides)属性,以及计算面积(area)和周长(perimeter)的方法。同时,我们还需要构造方法初始化边长,并提供一个`toString()`方法来输出三角形信息。
首先,让我们定义这个`Triangle`类:
```java
public class Triangle {
private double sideA;
private double sideB;
private double sideC;
// 构造方法,接收三条边的长度
public Triangle(double a, double b, double c) {
if (a + b > c && a + c > b && b + c > a) {
sideA = a;
sideB = b;
sideC = c;
} else {
throw new IllegalArgumentException("Invalid triangle sides");
}
}
// 求周长的方法
public double getPerimeter() {
return sideA + sideB + sideC;
}
// 求面积的方法,使用海伦公式
public double getArea() {
double semiPerimeter = getPerimeter() / 2;
return Math.sqrt(semiPerimeter * (semiPerimeter - sideA) * (semiPerimeter - sideB) * (semiPerimeter - sideC));
}
// toString() 方法用于返回三角形的边长和面积
@Override
public String toString() {
return "Triangle{" +
"sideA=" + sideA +
", sideB=" + sideB +
", sideC=" + sideC +
", perimeter=" + getPerimeter() +
", area=" + String.format("%.2f", getArea()) +
'}';
}
// 测试用例,创建两条边分别为3, 4, 5和8, 8, 12的三角形实例
public static void main(String[] args) {
Triangle triangle1 = new Triangle(3, 4, 5);
System.out.println(triangle1);
Triangle triangle2 = new Triangle(8, 8, 12);
System.out.println(triangle2);
}
}
```
在这个例子中,我们先检查传入的边长是否能构成有效的三角形,然后利用海伦公式计算面积。`toString()`方法则用来方便地显示三角形的各个信息。
运行上述`main`方法,你会得到两个三角形的边长、周长和面积信息,保留了小数点后两位。
阅读全文