Java 中两点之间的直线和距离

本文的目的是学习如何在二维平面中创建一个坐标为 x 和 y 的点,然后创建第二个点并计算两者之间的距离。

1) 创建类 Point

要很好地构建我们的程序, 我们必须避免创建 x 和 y (x1,x2,.. 的多个实例xn-y1,y2,..yn)。Java 是一种面向对象的语言,具有很高的抽象能力。

public class Point {

int x,y;

public Point(int x, int y){
this.x=x;
this.y=y;
}

public int getX() {
return x;
}

public void setX(int x) {
this.x = x;
}

public int getY() {
return y;
}

public void setY(int y) {
this.y = y;
}
}

2) 创建类 Line

一条线由至少两个点 P1 和 P2 组成,距离由勾股定理计算:
勾股定理”
当三角形为矩形时,应用勾股定理,公式写成:c² = a² + b²。长度是 c² 的根,并使用以下方法计算 Math.sqrt().

public class Right {

dot p1, p2;

公共权利(点 p1、点 p2){
this.p1=p1;
this.p2=p2;
}

double length(){
return p1.distance(p2);
}
}
现在我们将在 Point 类中声明 distance() 方法,该方法允许您将当前点和过去点之间的距离作为参数返回:

double distance(Point p){
return Math.sqrt(((p.getX()-this.getX()) + (p.getY()-this.getY()));
}

Example

public class Main {

public static void main(String[] args) {

点 p1 = 新点 Point(2, 3);
点 p2 = 新点 (5, 8);
行 Straight = 新直线 (p1, p2);
System.out.println(Right.length());

点 p3 = 新点 (7, 3);
System.out.println(点之间的距离(”+p1.getX()+, ”+p1.getY()+
) 和点(”+p2.getX()+, ”+p2.getY()+: ”+p1.distance(p3));
}
}
输出:

2.8284271247461903
点(2, 3)和点(5, 8)之间的距离: 2.23606797749979
参考:
Wikipedia: Right(mathematics)
Wikipedia: 勾股定理
Oracle 文档:Math.sqrt