一个java实验题:计算点的距离
Posted eyes++
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个java实验题:计算点的距离相关的知识,希望对你有一定的参考价值。
分别编写两个类Point2D,Point3D来表示二维空间和三维空间的点,使之满足下列要求:
- Point2D有两个整型成员变量x, y (分别为二维空间的X,Y方向坐标),Point2D的构造方法要实现对其成员变量x, y的初始化。
- Point2D有一个void型成员方法offset(int a, int b),它可以实现Point2D的平移。
- Point3D是Point2D的直接子类,它有有三个整型成员变量x,y,z (分别为三维空间的X,Y,Z方向坐标),Point3D有两个构造方法:Point3D(int x, int y, int z)和Point3D(Point2D p, int z),两者均可实现对Point3D的成员变量x, y, z的初始化。
- Point3D有一个void型成员方法offset(int a, int b, int c),该方法可以实现Point3D的平移。
- 在Point3D中的主函数main()中实例化两个Point2D的对象p2d1,p2d2,打印出它们之间的距离,再实例化两个Point3D的对象p3d1,p3d2,打印出他们之间的距离。
Point2D代码:
package subject.point;
public class Point2D {
// 成员变量
int x;
int y;
// 构造函数初始化成员变量
public Point2D(int x, int y) {
this.x = x;
this.y = y;
}
// 点的平移函数
public void offset(int a, int b)
{
this.x += a;
this.y += b;
}
// 拿到坐标
public int getX() { return x; }
public int getY() { return y; }
}
Point3D代码:
package subject.point;
public class Point3D {
// 成员变量
int x;
int y;
int z;
// 三个参数构造函数
public Point3D(int x, int y, int z)
{
this.x = x;
this.y = y;
this.z = z;
}
// 两个参数构造函数
public Point3D(Point2D p, int z)
{
this.x = p.x;
this.y = p.y;
this.z = z;
}
// 点的平移函数
public void offset(int a, int b, int c)
{
this.x += a;
this.y += b;
this.z += c;
}
// 拿到坐标
public int getX() { return x; }
public int getY() { return y; }
public int getZ() { return z; }
// 计算平面两点之间的距离
public static double get2DDistence(Point2D a, Point2D b) {
double res = Math.sqrt(Math.pow((a.getX() - b.getX()), 2) + Math.pow((a.getY() - b.getY()), 2));
return res;
}
// 计算空间两点之间的距离
public static double get3DDistence(Point3D a, Point3D b) {
double res = Math.sqrt(Math.pow((a.getX() - b.getX()), 2) + Math.pow((a.getY() - b.getY()), 2) + Math.pow((a.getZ() - b.getZ()), 2));
return res;
}
// 主函数
public static void main(String[] args) {
// 计算平面两点距离
Point2D p2d1 = new Point2D(1, 2);
Point2D p2d2 = new Point2D(3, 5);
System.out.println(get2DDistence(p2d1, p2d2));
System.out.println('\\n');
// 计算空间两点距离
Point3D p3d1 = new Point3D(p2d1, 2);
Point3D p3d2 = new Point3D(p2d2, 5);
System.out.println(get3DDistence(p3d1, p3d2));
}
}
结果:
以上是关于一个java实验题:计算点的距离的主要内容,如果未能解决你的问题,请参考以下文章