编写一个代表三角形的类。其中,三条边为三角型的属性,并封装有求三角形的面积和周长的方法。并设计构造方法和toString() 方法。分别针对三条边为3,4,5和8,8,12的两个三角形进行测试,要求面积保留小数点后两位
时间: 2024-10-11 13:10:04 浏览: 39
为了编写一个表示三角形的类,并包含求面积和周长的方法,我们可以创建一个名为Triangle的类,如下所示:
```java
public class Triangle {
private double a;
private double b;
private double c;
// 构造方法,接收三个边作为参数
public Triangle(double sideA, double sideB, double sideC) {
if (sideA + sideB > sideC && sideA + sideC > sideB && sideB + sideC > sideA) {
this.a = sideA;
this.b = sideB;
this.c = sideC;
} else {
throw new IllegalArgumentException("Invalid triangle sides");
}
}
// 求周长的方法
public double getPerimeter() {
return a + b + c;
}
// 求面积的方法,海伦公式
public double getArea() {
double s = (a + b + c) / 2; // 半周长
return Math.sqrt(s * (s - a) * (s - b) * (s - c));
}
// toString() 方法用于返回字符串形式的三角形信息
@Override
public String toString() {
return "Triangle{" +
"a=" + a +
", b=" + b +
", c=" + c +
", perimeter=" + getPerimeter() +
", area=" + String.format("%.2f", getArea()) +
'}';
}
// 测试部分
public static void main(String[] args) {
// 三角形1:3, 4, 5(直角三角形)
Triangle triangle1 = new Triangle(3, 4, 5);
System.out.println(triangle1);
// 三角形2:8, 8, 12(等腰三角形)
Triangle triangle2 = new Triangle(8, 8, 12);
System.out.println(triangle2);
}
}
```
在这个示例中,我们首先检查输入的三边是否能构成一个有效的三角形,然后计算周长和面积。`toString()` 方法会返回一个字符串,包含了三角形的边长、周长和保留两位小数的面积。
运行main函数,将打印出这两个三角形的信息,例如:
```
Triangle{a=3.0, b=4.0, c=5.0, perimeter=12.0, area=6.00}
Triangle{a=8.0, b=8.0, c=12.0, perimeter=38.0, area=32.00}
```
阅读全文