用java帮我完成这么:编写一个代表三角形的类。其中,三条边为三角型的属性,并封装有求三角形的面积和周长的方法。并设计构造方法和toString() 方法(显示三角形的周长、面积信息)。分别针对三条边为3,4,5和7,8,9的两个三角形进行测试。
时间: 2024-11-20 17:37:58 浏览: 11
首先,我们来创建一个名为`Triangle`的Java类,它包含三个属性`side1`, `side2`, 和 `side3`,表示三角形的三条边。我们将定义构造方法初始化这些边长,并提供计算面积(海伦公式)和周长的方法。同时,我们会添加`toString()`方法来展示三角形的信息。
```java
public class Triangle {
private double side1;
private double side2;
private double side3;
// 构造方法,接受三条边作为参数
public Triangle(double a, double b, double c) {
if (a + b > c && a + c > b && b + c > a) {
this.side1 = a;
this.side2 = b;
this.side3 = c;
} else {
throw new IllegalArgumentException("Invalid sides for a triangle");
}
}
// 计算周长
public double perimeter() {
return side1 + side2 + side3;
}
// 使用海伦公式计算面积
public double area() {
double s = perimeter() / 2; // 半周长
return Math.sqrt(s * (s - side1) * (s - side2) * (s - side3));
}
// toString 方法,显示三角形信息
@Override
public String toString() {
return "Triangle with sides: (" + side1 + ", " + side2 + ", " + side3 + ") has a perimeter of " +
perimeter() + " and an area of " + area();
}
// 测试部分
public static void main(String[] args) {
Triangle triangle1 = new Triangle(3, 4, 5);
System.out.println(triangle1); // 输出第一个三角形信息
Triangle triangle2 = new Triangle(7, 8, 9);
System.out.println(triangle2); // 输出第二个三角形信息
}
}
```
在这个例子中,我们创建了两个三角形实例,一个是直角三角形(3, 4, 5),另一个不是特殊类型的三角形(7, 8, 9)。运行`main`方法会打印出每个三角形的周长和面积。
阅读全文