【发布时间】:2015-08-16 08:58:03
【问题描述】:
我的任务是创建主类,在其中我将任意点的值初始化为 (0,0,0),并且能够单独访问和改变所有三个值 (x,y,z)。为此,我使用了 getter 和 setter。我的下一个任务是在我的主类(我称之为“distanceTo”)中创建一个计算两点之间距离的方法。
如何创建方法“distanceTo”,通过获取 x、y、z 坐标来计算两点之间的距离?我假设我的答案与sqrt((x1-x2)^2+(y1-y2)^2+(z1-z2)^2) 有关,但如果我的点在我的第二个测试点课程之前没有定义,我不知道如何在我的主课程的方法中编写它
到目前为止,我只有两点,但我正在寻找更一般的答案(这样,如果我创建了三个点,p1 p2 和 p3,我可以计算 p1 和 p2 之间的距离或 p2 和 p3 之间的距离或者p1和p3之间的距离。
我的主要课程:
package divingrightin;
public class Point3d {
private double xCoord;
private double yCoord;
private double zCoord;
public Point3d(double x, double y, double z){
xCoord = x;
yCoord = y;
zCoord = z;
}
public Point3d(){
this (0,0,0);
}
public double getxCoord() {
return xCoord;
}
public void setxCoord(double xCoord) {
this.xCoord = xCoord;
}
public double getyCoord() {
return yCoord;
}
public void setyCoord(double yCoord) {
this.yCoord = yCoord;
}
public double getzCoord() {
return zCoord;
}
public void setzCoord(double zCoord) {
this.zCoord = zCoord;
}
//public double distanceTo(double xCoord, double yCoord, double zCoord ){
}
我的班级有测试点: 包潜水权;
public class TestPoints {
public static void main(String[] args) {
Point3d firstPoint = new Point3d();
firstPoint.setxCoord(2.2);
firstPoint.setyCoord(1);
firstPoint.setzCoord(5);
//System.out.println(firstPoint.getxCoord());
Point3d secondPoint = new Point3d();
secondPoint.setxCoord(3.5);
secondPoint.setyCoord(22);
secondPoint.setzCoord(20);
}
}
【问题讨论】:
-
你想在
Point3d类中有一个 distanceTo 方法。类似:public double distanceTo(Point3d p){ ... }在那里你可以进行距离计算
标签: java distance getter-setter coordinate euclidean-distance