Как вычислить расстояние между моей исходной и поставленной точкой в ​​Java - PullRequest
1 голос
/ 17 февраля 2020
public class Point {

private double X, Y;


  public Point() {
    setPoint(0.0,0.0);
  }

   public Point (double X, double Y) {
      setPoint(X,Y);
   }

  public void setPoint(double X, double Y) {
    this.X = X;
    this.Y = Y;
  }
  public double getX() {

    return this.X;
  }
  public double getY() {

    return this.Y;
  }

 /**
     * Compute the distance of this Point to the supplied Point x.
     *
     * @param x  Point from which the distance should be measured.
     * @return   The distance between x and this instance
     */
    public double distance(Point x) {


    double d= Math.pow(this.X-X,2)+Math.pow(this.Y-Y,2);
    return Math.sqrt(d); 
}

Я пытаюсь вычислить расстояние от моей "исходной точки" до поставленной точки x. Я не совсем уверен, правильно ли я это делаю. Моя главная проблема:

Как мне обратиться к координатам моей исходной точки и поставленной точки? Математика здесь - basi c, поэтому я уверен в этом.

Любая помощь приветствуется. PS Я новичок в Java.

Так что я также думал о том, чтобы присвоить моей точке значение в функции:

public double distance(Point x) {

    Point x = new Point(X,Y);
    double d= Math.pow(this.X-x.X,2)+Math.pow(this.Y-x.Y,2);
    return Math.sqrt(d); 
}

Это было бы хорошо?

Ответы [ 4 ]

1 голос
/ 17 февраля 2020

Если у вас есть класс, подобный указанному ниже:

public class Point {
    private double x;
    private double y;

    ...constructors and methods omitted
}

Чтобы рассчитать расстояние между вашей точкой и другим, вы можете использовать java стандартный метод Math.hypot , как показано ниже:

public double distance(Point other) {
   return Math.hypot(this.x - other.x, this.y - other.y);
}
1 голос
/ 17 февраля 2020

Вы не использовали в параметре.

public double distance(Point other) {

        double d = Math.pow(other.getX()- getX(), 2) + Math.pow(other.getY() - getY(), 2);

        return Math.sqrt(d); 
}
0 голосов
/ 17 февраля 2020

Math.sqrt ((x1-x2) (x1-x2) + (y1-y2) (y1-y2))

0 голосов
/ 17 февраля 2020

В методе distance вы передаете другую точку как переменную с именем x (не очень хорошее имя) и можете обращаться к ее полям и методам с помощью этой переменной:

public double distance(Point x) {
     double currentPointX = this.getX();
     double otherPointX = x.getX();
}

То же самое для значения Y, и затем вы можете сделать математику с этими значениями.

...