1.编写一个线段类MyLine 要求如下: (1)主要属性有两个端点:e1、e2,类型为Point。 (2)编写构造方法,如MyLine(Point p1,Point p2)。 (3)编写成员方法。 例如: a.检查线段是否位于第一象限check()。 b.求线段的长度length()。() c.判断两条直线是否相交(另一线段作为参数)。(参考API中Line2D类) d.求一点到该线段(或延长线)的距离。(参考API中Line2D类)
时间: 2024-02-06 18:12:33 浏览: 182
```java
import java.awt.Point;
import java.awt.geom.Line2D;
public class MyLine {
private Point e1; // 线段的第一个端点
private Point e2; // 线段的第二个端点
// 构造方法
public MyLine(Point p1, Point p2) {
e1 = p1;
e2 = p2;
}
// 检查线段是否位于第一象限
public boolean check() {
if (e1.x >= 0 && e1.y >= 0 && e2.x >= 0 && e2.y >= 0) {
return true;
} else {
return false;
}
}
// 求线段的长度
public double length() {
return e1.distance(e2);
}
// 判断两条直线是否相交
public boolean intersect(MyLine line) {
Line2D l1 = new Line2D.Double(e1, e2);
Line2D l2 = new Line2D.Double(line.e1, line.e2);
return l1.intersectsLine(l2);
}
// 求一点到该线段(或延长线)的距离
public double distance(Point p) {
Line2D line = new Line2D.Double(e1, e2);
return line.ptLineDist(p);
}
}
```
注:以上代码使用了 Java 自带的 Point 类和 Line2D 类,可以直接调用它们的方法。
阅读全文