Closed. This question is opinion-based。它当前不接受答案。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
6年前关闭。
嗨,我目前正在做一个小项目,我必须添加一个类,该类允许我将2个向量相加/相减。
例如,向量是向量(x,y,z)
最好的编码方式是什么?我不想使用互联网上的课程,因为我认为我需要的功能确实很基础。
这是我正在考虑的一些伪代码:
向量(x,y,z)是一个数组,其中[0] = x,[1] = y [2] = z
因此,如果我们有Vector1(x1,y1,z1)和Vector 2(x2,y2,z2),我们仅拥有一个3d数组,该数组基本上包含[0] = x1 + x2 [1] = y1 + y2和[2] = z1 + z2
那是正确的路吗?
通常最好将字段设置为
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
6年前关闭。
嗨,我目前正在做一个小项目,我必须添加一个类,该类允许我将2个向量相加/相减。
例如,向量是向量(x,y,z)
最好的编码方式是什么?我不想使用互联网上的课程,因为我认为我需要的功能确实很基础。
这是我正在考虑的一些伪代码:
向量(x,y,z)是一个数组,其中[0] = x,[1] = y [2] = z
因此,如果我们有Vector1(x1,y1,z1)和Vector 2(x2,y2,z2),我们仅拥有一个3d数组,该数组基本上包含[0] = x1 + x2 [1] = y1 + y2和[2] = z1 + z2
那是正确的路吗?
最佳答案
如果您的向量始终是3维的,那么我就不会使用数组,这可能会使事情变得不太清楚。尝试这样的事情:
public class Vector {
private final double x;
private final double y;
private final double z;
public Vector(double x, double y, double z) {
this.x = x;
this.y = y;
this.z = z;
}
// Getters...
public Vector add(Vector addend) {
return new Vector(x + addend.x, y + addend.y, z + addend.z);
}
// Other operations...
}
通常最好将字段设置为
final
,因此可以确定数据不会意外更改值,因为您不小心与代码的另一部分共享了引用。07-27 13:45