2、定义一个“点”(Point)类用来表示三维空间的点(有三个坐标)。要求如下: (1)可以生成具有特定坐标的点对象(利用构造方法)。 (2)提供可以设置三个坐标的方法。 (3)提供可以计算该“点”到某点距离平方的方法。 (4)编写程序验证上述三条。java
时间: 2024-10-17 17:02:57 浏览: 12
在Java中,我们可以创建一个名为`Point3D`的类来满足这些需求。这是一个简单的实现:
```java
public class Point3D {
private double x;
private double y;
private double z;
// 构造方法用于初始化点的坐标
public Point3D(double x, double y, double z) {
this.x = x;
this.y = y;
this.z = z;
}
// 设置坐标的方法
public void setCoordinates(double newX, double newY, double newZ) {
x = newX;
y = newY;
z = newZ;
}
// 计算两点间距离平方的方法(欧几里得距离)
public double distanceTo(Point3D otherPoint) {
double dx = x - otherPoint.getX();
double dy = y - otherPoint.getY();
double dz = z - otherPoint.getZ();
return dx * dx + dy * dy + dz * dz;
}
// 获取坐标的方法
public double getX() {
return x;
}
public double getY() {
return y;
}
public double getZ() {
return z;
}
// 测试类
public static void main(String[] args) {
// 创建一个点并设置坐标
Point3D point1 = new Point3D(1, 2, 3);
System.out.println("Point1 (x, y, z): (" + point1.getX() + ", " + point1.getY() + ", " + point1.getZ() + ")");
// 设置新的坐标
point1.setCoordinates(4, 5, 6);
System.out.println("After setting coordinates:");
System.out.println("Point1 (x, y, z): (" + point1.getX() + ", " + point1.getY() + ", " + point1.getZ() + ")");
// 计算与另一个点的距离平方
Point3D point2 = new Point3D(7, 8, 9);
double distanceSquared = point1.distanceTo(point2);
System.out.println("Distance squared between point1 and point2: " + distanceSquared);
}
}
```
在这个例子中,我们定义了一个具有坐标和相关操作的`Point3D`类。在`main`方法中,我们创建了两个`Point3D`实例,并展示了如何设置坐标以及计算它们之间的距离平方。
阅读全文