Java写三角形比较用接口实现
时间: 2024-05-11 08:17:55 浏览: 52
可以使用接口来实现三角形比较,以下是一个示例代码:
```java
public interface TriangleComparable {
public int compareTo(Triangle t);
}
public class Triangle implements TriangleComparable {
private double a;
private double b;
private double c;
public Triangle(double a, double b, double c) {
this.a = a;
this.b = b;
this.c = c;
}
public double getArea() {
double p = (a + b + c) / 2;
return Math.sqrt(p * (p - a) * (p - b) * (p - c));
}
public int compareTo(Triangle t) {
double area1 = getArea();
double area2 = t.getArea();
if (area1 < area2) {
return -1;
} else if (area1 == area2) {
return 0;
} else {
return 1;
}
}
}
```
在这个示例中,`TriangleComparable` 接口定义了一个 `compareTo` 方法,用于比较两个三角形的大小关系。`Triangle` 类实现了这个接口,并实现了 `compareTo` 方法,该方法根据三角形的面积大小来比较三角形的大小。
你可以使用如下代码测试:
```java
Triangle t1 = new Triangle(3, 4, 5);
Triangle t2 = new Triangle(4, 5, 6);
int result = t1.compareTo(t2);
if (result < 0) {
System.out.println("t1 is smaller than t2");
} else if (result == 0) {
System.out.println("t1 is equal to t2");
} else {
System.out.println("t1 is larger than t2");
}
```
在这个例子中,`t1` 和 `t2` 分别表示两个三角形,通过调用 `compareTo` 方法来比较它们的大小关系。
阅读全文