java 编写一个线段类Line,要求如下: (1)类的成员变量为两个Point类型的端点:p1、p2。 (2)编写构造方法Line(Point p1, Point p2)。 (3)编写成员方法:length()求线段的长度;distance()求一点到该线段(或延长线)的距离。
时间: 2023-05-13 17:06:09 浏览: 253
java线段类
5星 · 资源好评率100%
好的,这是一个关于Java编程的问题。以下是Line类的代码:
```
public class Line {
private Point p1;
private Point p2;
public Line(Point p1, Point p2) {
this.p1 = p1;
this.p2 = p2;
}
public double length() {
return Math.sqrt(Math.pow(p2.getX() - p1.getX(), 2) + Math.pow(p2.getY() - p1.getY(), 2));
}
public double distance(Point p) {
double A = p2.getY() - p1.getY();
double B = p1.getX() - p2.getX();
double C = p2.getX() * p1.getY() - p1.getX() * p2.getY();
return Math.abs(A * p.getX() + B * p.getY() + C) / Math.sqrt(A * A + B * B);
}
}
```
其中,Point类表示一个点,包含getX()和getY()方法获取横纵坐标。length()方法使用勾股定理求线段长度,distance()方法使用点到直线距离公式求点到线段的距离。
阅读全文