如何在Java中存储向量?数据类型是什么?

如何在Java中存储向量?数据类型是什么?,java,vector,Java,Vector,我刚读了教程。这是关于游戏开发的,它基本上说我需要存储加速度,速度,位置作为向量来制作游戏物理。希望它有意义!我现在需要选择数据类型。。。例如,我需要存储值,如 3,5,2 6,2,3 2,3 还有,我需要像这样做加法和减法 0,1,4+3,-2,5=0+3,1-2,4+5=3,-1,9 在这种情况下,我应该使用什么数据类型 对于一个向量,两个整数可能是浮点数/双精度数?可能是一个向量的数组,其中的值是整数浮点数/双倍数?听起来您想要三个值可能是双倍数: public class Vector3

我刚读了教程。这是关于游戏开发的,它基本上说我需要存储加速度,速度,位置作为向量来制作游戏物理。希望它有意义!我现在需要选择数据类型。。。例如,我需要存储值,如

3,5,2

6,2,3

2,3

还有,我需要像这样做加法和减法

0,1,4+3,-2,5=0+3,1-2,4+5=3,-1,9

在这种情况下,我应该使用什么数据类型


对于一个向量,两个整数可能是浮点数/双精度数?可能是一个向量的数组,其中的值是整数浮点数/双倍数?

听起来您想要三个值可能是双倍数:

public class Vector3
{
    private final double x;
    private final double y;
    private final double z;

    public Vector3(double x, double y, double z)
    {
        this.x = x;
        this.y = y;
        this.z = z;
    }

    public Vector3 plus(Vector3 other)
    {
        return new Vector3(x + other.x, y + other.y, z + other.z);
    }

    // etc
}

请注意,我已将此设置为不可变-这并不总是性能的最佳选择,它可能与您的情况相关,但有助于提高可读性。

可能有用。

或者您可以使用泛型:

public interface MathVector<T extends Number>
{
    MathVector<T> add(MathVector<T> addend);
    T innerProduct();
    // Vectors have more than this, but it makes the point
}

但如何将值1、2、3存储为整数?我看到有三个整数,但我需要将它们存储在一个值中。@daGrevis:你没有。您有三个值—将它们存储为三个值。对包含三个值的对象保留一个引用。对于类和对象如何在Java中工作,您有多少经验?这将是非常重要的…改变矢量,但数组呢?也许我可以这样做:'double[]position={2,-6};'?我通过搜索不带引号的java类实例发现了这一点。