已关闭。此问题需要超过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() {
}
}`
4条答案
按热度按时间u4dcyp6a1#
因为
Point
是一个类,所以每次指令说“this Point”时都是指Point
的当前示例。例如,如果将距离与Point other
进行比较,则需要使用other.getX() - this.x
之类的逻辑减去两个点之间的x/y值。h79rfbju2#
任何非静态方法的思想都是类有一个特殊的示例,这个示例就是调用方法的示例,所以当你写
myPoint.setX(3);
这样的东西时,你是在Point
的一个特定示例上调用setX
--也就是说,一个特定的Point
对象。当作者说“this Point”时,他们指的是调用方法的示例。
你可以用一行代码来调用它
顺便说一下,在
Math
类中有一个静态方法hypot
,它可以为您完成大部分计算,您可能需要检查Javadoc中的该方法。pinkon5k3#
通过使用
java.awt.geom.Point2D
Package,您可以轻松编写以下代码:dffbzjpn4#
为了计算距离,你需要有两个点,所以有两个选项,
1.您将实现方法
double distanceTo(Point point)
,或者1.做我以前做过的事情,这是我以前做过的事情,用各种静态方法创建一个实用类,