这个Java问题中的“这个点”是什么?[已关闭]

uidvcgyl  于 2023-03-11  发布在  Java
关注(0)|答案(4)|浏览(110)

已关闭。此问题需要超过focused。当前不接受答案。
**想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。

昨天关门了。
这篇文章是编辑和提交审查1小时前。
Improve this question
在Tim Buchalka关于Udemy的课上,我很难理解这一点。它指的是在2D空间中计算2个点。他们一直提到“这个点”,无论我问多少次,我似乎都无法得到关于“这个点”是什么的直接答案。是否总是“点优先”,还是最近输入的点?“第二个点”会变成“这个点”吗?什么是“点(x,y)"?它是否总是“第二个点”,或者它可以是其他点或可变点?如果是,您如何定义哪个点成为“此点”或“点(x,y)"?我需要知道的只是如何知道哪个点成为“这个点”,哪个点成为“点(x,y)"。
你必须在二维空间中表示一个点。写一个名为Point的类。这个类需要两个int类型的字段(示例变量),名为x和y。
该类需要有两个构造函数。第一个构造函数没有任何参数(无参数构造函数)。第二个构造函数有int类型的参数x和y,并且需要初始化字段。
编写以下方法(示例方法):
方法名为getX,没有任何参数,它需要返回x字段的值。
方法名为getY,没有任何参数,它需要返回y字段的值。
名为setX的方法,带有一个int类型的参数,它需要设置x字段的值。
名为setY的方法,它有一个int类型的参数,需要设置y字段的值。
方法名为distance,不带任何参数,则需要将此Point与Point 0,0之间的距离返回为double。
方法名为distance,有两个参数x,y,都是int类型,它需要返回这个Point和Point x,y之间的距离,返回值为double。
方法名为distance,参数另一个为Point类型,它需要返回此Point和另一个Point之间的双精度距离。
如何求两点间的距离?要求A(xA,yA)和B(xB,yB)之间的距离,我们使用以下公式:
d(A,B)=√(x B − x A)(x B-x A)+(y B − y A)(y B-y A)
其中√表示平方根。
下面是测试代码:
试验代码:
第一个点=新的点(6,5);第二个点=新点(3,1);系统输出打印ln(“距离(0,0)=“+第一个距离());系统输出打印ln(“距离(秒)=“+第一个距离(秒));系统输出打印输入(“距离(2,2)=“+第一个距离(2,2));点point =新Point();系统输出打印ln(“距离()=“+点距离());输出
距离(0,0)= 7.810249675906654距离(秒)= 5.0距离(2,2)= 5.0距离()= 0.0
看上面。到目前为止我写的都在下面。相当基本,不完整。
'公共类Point {

private int x;
private int y;

public Point() {
}

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;
}

public double distance() {

}

}`

u4dcyp6a

u4dcyp6a1#

因为Point是一个类,所以每次指令说“this Point”时都是指Point的当前示例。例如,如果将距离与Point other进行比较,则需要使用other.getX() - this.x之类的逻辑减去两个点之间的x/y值。

h79rfbju

h79rfbju2#

任何非静态方法的思想都是类有一个特殊的示例,这个示例就是调用方法的示例,所以当你写myPoint.setX(3);这样的东西时,你是在Point的一个特定示例上调用setX--也就是说,一个特定的Point对象。
当作者说“this Point”时,他们指的是调用方法的示例。

public double distance(Point other) {
    // Some code here to calculate the distance between the instance
    // on which the method was called, and the instance called `other`.
}

你可以用一行代码来调用它

double distance = firstPoint.distance(secondPoint);

顺便说一下,在Math类中有一个静态方法hypot,它可以为您完成大部分计算,您可能需要检查Javadoc中的该方法。

pinkon5k

pinkon5k3#

通过使用java.awt.geom.Point2D Package,您可以轻松编写以下代码:

public double distance(
    double xa, 
    double ya, 
    double xb, 
    double yb) {        
    return Point2D.distance(xa, ya, xb, yb);
}
dffbzjpn

dffbzjpn4#

为了计算距离,你需要有两个点,所以有两个选项,
1.您将实现方法double distanceTo(Point point),或者
1.做我以前做过的事情,这是我以前做过的事情,用各种静态方法创建一个实用类,

class DistanceUtil{

  static double euclidean(Point a, Point b){....}

  static double manhattan(Point a, Point b){....}

 }

相关问题