1
私は物理的な物体の映画の方程式をシミュレートしようとしていますので、加速度に応じて10ミリ秒ごとにベロシティを変えたいと思います。(int delay = 10)Java PointクラスgetX()またはgetY()は自動的にキャストされますか?
public static void main(String[] args) {
Point velocity = new Point();
Point acceleration = new Point(20.0, 0);
velocity.setLocation(10, 19);
while (true) {
velocity.setLocation(velocity.getX() +
acceleration.getX() * 10/1000.0, 19);
System.out.println(velocity.getX());
}
}
はこの線は速度のxまたはyを変化させない(及び加速度のxは20であり、Yが40.0であるのです。場合、その範囲は、私はそれがない疑う差せる)ことが珍しい。 I加速度を印刷.getX()* delay/1000.0それは0.0を出力します。その量をacceler.getX()に置き換えて印刷しようとすると、実際の金額が表示されます。
誰でもこのコードが間違っていることを知っていますか?
getX()は自動的にキャストされますか?
あなたは検証可能な例を提供できますか? – Gendarme
いいえ、質問に[mcve]を入力してください。何かを実行することができます。 –
"' acceleration.getX()* delay/1000.0'を印刷すると '0.0'"が出力されますので、これを複製できないので詳細を記入してください。しかし、 'accelerate.getX()'が '40'と' delay = 10'を返すなら 'accelerate.getX()* delay/1000.0'は' 0.2 'である。 'Point.setLocation(double、double)'を使用して割り当てられた場合、これは '0'にフロアされます。 –