繁体   English   中英

Java Point类的getX()或getY()是自动转换的吗?

[英]Is Java Point class getX() or getY() is casted automatically?

我正在尝试模拟一个物理对象的电影方程式,因此我想根据加速度每十毫秒更改一次速度。这部分代码对我不起作用:(int delay = 10)

public static void main(String[] args) {
    Point velocity = new Point();
    Point acceleration = new Point(20.0, 0);
    velocity.setLocation(10, 19);

    w‌​hile (true) { 
        velocity.setLocation(velocity.getX() +
            acceleration.getX() * 10 / 1000.0, 19);
        System.out.println(velocity.getX());
    }
}

这行不改变速度的x或y是不寻常的(加速度的x为20且y为40.0;如果它们的范围有所不同,我怀疑是这样做的),当我打印加速度时.getX()* delay / 1000.0它会打印0.0,当我尝试用其金额替换了acceleration.getX()后尝试打印时,它会打印实际金额。

有人知道这段代码有什么问题吗?
是getX()强制转换还是自动执行?

如您所见

点文件

定义点的值存储为整数,因此,如果要存储的双精度数在0.0到1.0之间(例如您的示例),则将其强制转换为0。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM