编写一个代表三角形的类,其中,三条变为三角形的属性,并封装有求三角形的面积和周长的方法,并设计构造方法和tostring()的方法,分别对三条边为3,4,5和8,8,12的两个三角形进行测试,求面积保留小数点后两位
2条回答 默认 最新
关注回答参考gpt4
你可以使用 Java 编写一个代表三角形的类,其中包含三条边的属性,封装计算面积和周长的方法,并设计构造方法和toString()方法。下面是一个示例代码,包括对三角形的测试。代码实现:
public class Triangle { // 三条边的属性 private double side1; private double side2; private double side3; // 构造方法 public Triangle(double side1, double side2, double side3) { // 检查是否能构成三角形 if (isValidTriangle(side1, side2, side3)) { this.side1 = side1; this.side2 = side2; this.side3 = side3; } else { throw new IllegalArgumentException("这三条边不能构成三角形"); } } // 判断三条边是否能构成三角形 private boolean isValidTriangle(double side1, double side2, double side3) { return (side1 + side2 > side3) && (side1 + side3 > side2) && (side2 + side3 > side1); } // 计算周长 public double getPerimeter() { return side1 + side2 + side3; } // 计算面积 (使用海伦公式) public double getArea() { double s = getPerimeter() / 2; // 计算半周长 return Math.sqrt(s * (s - side1) * (s - side2) * (s - side3)); } // toString方法,显示三角形的边长、周长和面积 @Override public String toString() { return String.format("三角形的边长为: %.2f, %.2f, %.2f\n周长: %.2f\n面积: %.2f", side1, side2, side3, getPerimeter(), getArea()); } // 测试代码 public static void main(String[] args) { // 第一个三角形 3, 4, 5 Triangle triangle1 = new Triangle(3, 4, 5); System.out.println(triangle1.toString()); // 第二个三角形 8, 8, 12 Triangle triangle2 = new Triangle(8, 8, 12); System.out.println(triangle2.toString()); } }代码说明:
- 类的属性:三角形有三个边,使用
side1、side2和side3存储。 - 构造方法:检查给定的三条边是否能构成一个合法的三角形,如果不能构成则抛出异常。
- 周长计算:周长是三条边的和,通过
getPerimeter()方法计算。 - 面积计算:面积使用海伦公式,通过
getArea()方法计算。 toString()方法:重写了toString()方法,输出三角形的边长、周长和面积,面积保留两位小数。- 测试:代码测试了两种不同边长的三角形(3, 4, 5 和 8, 8, 12)。
输出结果:
三角形的边长为: 3.00, 4.00, 5.00 周长: 12.00 面积: 6.00 三角形的边长为: 8.00, 8.00, 12.00 周长: 28.00 面积: 31.23这个程序将正确计算和显示两个三角形的周长和面积,并保证面积保留两位小数。
本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用 1- 类的属性:三角形有三个边,使用