编写一个接口A,包含一个求面积方法area()。 请设计一个三角形类GCLass实现接口A中的area()方法,GClass构造函数的参数为三边长s1、s2、s3,均为整数。
时间: 2024-10-18 07:17:49 浏览: 30
首先,我们需要定义一个名为`AreaInterface`的接口,这个接口只有一个用于计算面积的方法`area()`:
```java
// 接口A
public interface AreaInterface {
double area();
}
```
接下来,我们将创建一个`Triangle`类(在这里命名为`GClass`,因为它通常用来指代古希腊几何),它实现了`AreaInterface`接口,并接受三个边长作为构造函数参数:
```java
import java.util.Arrays;
public class GClass implements AreaInterface {
private int s1;
private int s2;
private int s3;
public GClass(int s1, int s2, int s3) {
if (s1 <= 0 || s2 <= 0 || s3 <= 0 || s1 + s2 < s3 || s1 + s3 < s2 || s2 + s3 < s1) {
throw new IllegalArgumentException("三角形的边长无效");
}
this.s1 = s1;
this.s2 = s2;
this.s3 = s3;
}
@Override
public double area() {
double semiperimeter = (s1 + s2 + s3) / 2.0;
return Math.sqrt(semiperimeter * (semiperimeter - s1) * (semiperimeter - s2) * (semiperimeter - s3));
}
}
```
在这个`GClass`中,构造函数检查边长是否能组成有效的三角形,然后计算面积的方法利用海伦公式来计算给定三边的三角形面积。
注意,由于边长是整数,如果需要更精确的结果,可以在计算面积之前将它们转换为浮点数。
阅读全文