试定义一个三角形Triangle类,在Triangle类中以点MyPoint
时间: 2024-12-19 18:24:33 浏览: 61
在定义一个名为`Triangle`的类来表示三角形时,我们可以先创建一个名为`MyPoint`的内部类,用于表示二维空间中的一个点。这个点通常包含横坐标(x)和纵坐标(y)。下面是`Triangle`类的基本设计:
```java
public class Triangle {
// 定义一个内部类 MyPoint 代表三角形的一个顶点
private static class MyPoint {
private double x;
private double y;
public MyPoint(double x, double y) {
this.x = x;
this.y = y;
}
// getter 和 setter 方法省略,但一般会提供
// 返回x和y值
public double getX() { return x; }
public double getY() { return y; }
// 可能需要重写toString()方法,以便于打印
@Override
public String toString() {
return "(" + x + ", " + y + ")";
}
}
// 三角形的三个顶点
private MyPoint point1;
private MyPoint point2;
private MyPoint point3;
// 构造函数、getter和setter 省略
// 添加计算边长、面积等三角形属性和方法
public double getSideLength(int index) {
MyPoint p = getPoint(index);
return Math.sqrt(Math.pow(p.getX() - getPoint((index+1)%3).getX(), 2)
+ Math.pow(p.getY() - getPoint((index+1)%3).getY(), 2));
}
public double getArea() {
// 使用海伦公式计算面积
double a = getSideLength(0);
double b = getSideLength(1);
double c = getSideLength(2);
double s = (a + b + c) / 2;
return Math.sqrt(s * (s - a) * (s - b) * (s - c));
}
// 其他方法如设置顶点、判断是否合法等
// ... 省略其他成员变量和辅助方法
//
阅读全文
相关推荐











