-4
public class point3d {
float x;
float y;
float z;  
public point3d(float x, float y, float z){
   this.x = x;
   this.y = y;
   this.z = z;
}
public point3d(){
    x = 0;
    y = 0;
    z = 0;
}
public float getX(){
    return x;
}
void setX(float x) {
    this.x =x;
}
public float getY(){
    return y;
}
void setY(float y) {
    this.y =y;
} 
public float getZ(){
    return z;
}         
void setZ(float z) {
    this.z = z;
}
public String toString()
{
    return "(" + x + ", " + y + "," + z + ")";
}        
}

这是我编写的 point3d 类代码,我想通过这个 point3d 类读取多个点,这些点在主类中给出,我该如何实现。请帮助我?

4

2 回答 2

3

首先,根据命名约定,一个类应该以大写字母开头。

其次,您应该在主类中为您的 s 创建一个容器Point3d,例如List.

接下来,您可以对其进行迭代并执行您的逻辑。

List<Point3d> points = new ArrayList<>(); // this is JDK7
List<Point3d> points = new ArrayList<Point3d>(); // this is before JDK7, pick one

points.add(new Point(4F, 3F, 2F)); // let's create some points to iterate over
points.add(new Point(23F, 7F, 5F));

for(Point3d point : points) {
    // do some logic with point
}

一个后续问题是,你想用这些实现points什么?

于 2013-05-28T06:21:09.360 回答
0

我想我现在明白你的问题了。您想要制作一个 3 维矩形,这意味着您需要 4 个点(除非您希望它也有深度,在这种情况下您需要 8 个)。

因此,您只需要一个包含 4 个类的数组point3d

point3d[] rectangle = new point3d[4];

然后你只需要分配给那个数组:

rectangle[0] = new point3d(x,y,z); //note that the first element is 0, not 1
rectangle[1] = new point3d(x2,y2,z2);
...

当您想稍后访问它们时:

System.out.println(rectangle[0].getX());

我建议您阅读:http ://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

于 2013-05-28T07:05:04.403 回答