// 写了一个Point类
class Point {
double x, y, z;
Point (double _x, double _y, double _z){
x = _x;
y = _y;
z = _z;
}
void setX(double _x){
x = _x;
}
void setY(double _y){
y = _y;
}
void setZ(double _z){
z = _z;
}
double getDistance(Point p){
return (x - p.x)*(x - p.x)+(y - p.y)*(y - p.y)+(z - p.z);
}
}
public class TestPoint{
public static void main(String args[]){
Point p = new Point(1.0,2.0,3.0);
Point p1 = new Point(0.0,0.0,0.0);
System.out.println(p.getDistance(p1));
p.setX(5.0);
System.out.println(p.getDistance(new Point(1.0,1.0,1.0)));
}
}
class Point {
double x, y, z;
Point (double _x, double _y, double _z){
x = _x;
y = _y;
z = _z;
}
void setX(double _x){
x = _x;
}
void setY(double _y){
y = _y;
}
void setZ(double _z){
z = _z;
}
double getDistance(Point p){
return (x - p.x)*(x - p.x)+(y - p.y)*(y - p.y)+(z - p.z);
}
}
public class TestPoint{
public static void main(String args[]){
Point p = new Point(1.0,2.0,3.0);
Point p1 = new Point(0.0,0.0,0.0);
System.out.println(p.getDistance(p1));
p.setX(5.0);
System.out.println(p.getDistance(new Point(1.0,1.0,1.0)));
}
}
3维的x,y,z
getDistance(Point p)取得当前对象到点p的距离
return (x - p.x)*(x - p.x)+(y - p.y)*(y - p.y)+(z - p.z);
}
这方法没看懂
double getDistance(Point p){
return sqrt((x - p.x)*(x - p.x)+(y - p.y)*(y - p.y)+(z - p.z)*(z-p.z));
}
return (x - p.x)*(x - p.x)+(y - p.y)*(y - p.y)+(z - p.z);
}
这个方法是不是写漏了啊??
有可能是两点之间的距离
System.out.println(p.getDistance(p1));输出点p(1.0,2.0,3.0)与点p1(0.0,0.0,0.0)之间的距离
System.out.println(p.getDistance(new Point(1.0,1.0,1.0)));输出点(5.0,2.0,3.0)与点(1.0,1.0,1.0)之间的距离
我不知道你哪儿不理解
class Point {
//定义空间坐标系
double x, y, z; Point (double _x, double _y, double _z){
x = _x;
y = _y;
z = _z;
} void setX(double _x){
x = _x;
}
void setY(double _y){
y = _y;
}
void setZ(double _z){
z = _z;
} double getDistance(Point p){
//传入的p1,求p与p1两点之间的距离
return (x - p.x)*(x - p.x)+(y - p.y)*(y - p.y)+(z - p.z);
}
}public class TestPoint{
public static void main(String args[]){
//new了一个p,找到带有3个浮点参数的Point构造方法,传入值
Point p = new Point(1.0,2.0,3.0);
//new了p1对象为原点
Point p1 = new Point(0.0,0.0,0.0);
//p调用getDistance方法,并把p1的值丢进去了
System.out.println(p.getDistance(p1)); p.setX(5.0);//修改了p的x值 p:(5.0,2.0,3.0)
//又new了一个对象,但是没有给他定义名称,传入了三个1.0,再来看外面的
//又跟上面的一样,对象p调用方法getDistance,然后getDistance只能接收对象
//那么就传入了刚new出来的对象,虽然没有名字,但是可以用来比较
System.out.println(p.getDistance(new Point(1.0,1.0,1.0)));
}
}
double getDistance(Point p){
//传入的p1,求p与p1两点之间的距离
return sqrt((x - p.x)*(x - p.x)+(y - p.y)*(y - p.y)+(z - p.z)*(z - p.z));
}