点(x0,y0)和(x1,y1)之间的距离

时间:2013-12-12 19:40:12

标签: java distance points between

我是编程新手并寻找帮助来找到点之间的距离

我现在拥有的是:

import java.util.*;

class WS8Q2 {
public static void main(String[] args){
    Scanner in = new Scanner (System.in);

    double x0=0;
    double x1=0;
    double y0=0;
    double y1=0;

    System.out.println("Please enter 4 numbers");
    x0=in.nextDouble();

    double distance = (x0, y1, x1, y0);
    System.out.print(answer);
    }


    public static double distance (x0, y1, x1,y0) {
        return Math.Sqrt ((x1 - y0) * (y1-y0) + (x1-x0) * (x1-x0));
    }

我真的不确定该怎么做,因为我以前从未做过距离,我只是完全失去了,试图查找某些公式,但我发现的唯一的东西似乎对我有用的东西是在这个网站link这似乎对我说不多

编辑:这是问题以及我想要实现的目标:

  

设计一个函数距离,它取四个分数参数x0,y0,x1和y1,并返回点(x0,y0)和(x1,y1)之间的距离。 (如果你不记得它,请查看公式!)

3 个答案:

答案 0 :(得分:10)

两点(x0, y0)(x1, y1)的距离公式应为:

Math.Sqrt ((x1 - x0) * (x1-x0) + (y1-y0) * (y1-Y0));

考虑接近OOP:声明一个带有(x,Y)属性的Point,声明一个setLocation(a, b)函数并声明getDistance(Point)函数:

class Point
{
   double x;
   double y;

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

  public double getDistance(Point p)
  {
    // now implement it
  } 
}

另外,如果您还不知道java有一个Point2D类,它具有distance(double px, double py)函数。

答案 1 :(得分:1)

您可以使用此功能计算距离......

public static double distance (x0, y1, x1,y0) {
    return Math.Sqrt (Math.pow((y1 - y0),2) + Math.pow((x1-x0),2));
}

答案 2 :(得分:1)

首先,您要打印distance而不是answer。其次,它在你的链接上给了你answer ....试试这个

public static double distance (double x0, double y1, double x1, double y0) {
  return Math.hypot(x1-x0, y1-y0); // <-- From your link.
}

找到两点之间距离的公式与毕达哥拉斯定理完全相同,找到斜边的长度。即c 2 = a 2 + b 2

最后,您需要阅读所有四个双重内容...而不仅仅是一个。

x0=in.nextDouble(); // Good.            1
x1=in.nextDouble(); // And another...   2
y0=in.nextDouble(); // And another...   3
y1=in.nextDouble(); // One more.        4