定义一个三角形类,包含三条边长为数据成员,包含的方法有: (1)无参构造方法、有参构造方法; (2)判别是否构成三角形方法; (3)计算面积方法。 设计测试类,实例化一个三角形对象,判别能否构成直角三角形,并输出其面积。
时间: 2024-10-16 14:17:14 浏览: 95
实验项目B、Java类基础编程
在Java中,我们可以定义一个名为`Triangle`的类,它包含三条边长作为数据成员,以及对应的方法来判断是否构成三角形以及计算面积。下面是这个类的一个简单实现:
```java
public class Triangle {
private double sideA;
private double sideB;
private double sideC;
// 无参构造方法
public Triangle() {
this.sideA = 0;
this.sideB = 0;
this.sideC = 0;
}
// 有参构造方法
public Triangle(double a, double b, double c) {
if (a + b > c && a + c > b && b + c > a) { // 检查边长是否满足构成三角形条件
this.sideA = a;
this.sideB = b;
this.sideC = c;
} else {
throw new IllegalArgumentException("Invalid sides for a triangle.");
}
}
// 判定是否构成三角形方法
public boolean isValidTriangle() {
return sideA + sideB > sideC && sideA + sideC > sideB && sideB + sideC > sideA;
}
// 计算面积方法(海伦公式)
public double calculateArea() {
double semiPerimeter = (sideA + sideB + sideC) / 2;
return Math.sqrt(semiPerimeter * (semiPerimeter - sideA) * (semiPerimeter - sideB) * (semiPerimeter - sideC));
}
}
// 测试类
public class TriangleTest {
public static void main(String[] args) {
Triangle triangle = new Triangle(3, 4, 5); // 构造直角三角形
if (triangle.isValidTriangle()) {
System.out.println("This is a valid triangle.");
} else {
System.out.println("This is not a valid triangle.");
}
double area = triangle.calculateArea();
System.out.println("The area of the triangle is " + area);
}
}
```
在这个例子中,我们首先检查传递给构造函数的边长是否能构成有效的三角形,然后在`TriangleTest`类中实例化一个`Triangle`对象并测试它的功能。
阅读全文