2015-07-29 31 views
8

10 saniye düştükten sonra bir nesnenin konumunu hesaplamak için:ücretsiz bu temel kod verileni

public class GravityCalculator { 
    public static void main(String[] args) { 
     double gravity = -9.81; //Earth's gravity in m/s^2 
     double initialVelocity = 0.0; 
     double fallingTime = 10.0; 
     double initialPosition = 0.0; 
     double finalPosition = 0.0; 
     System.out.println("The object's position after " + fallingTime + " seconds is " + finalPosition+ "m"); 
     // the output is The object's position after 10.0 seconds is 0.0m 
    } 
} 

Ve bir nesne aşık konumunu hesaplamak için programı değiştirmeye söylendi Bu formülü kullanarak 10 saniye,:

x(t) = 0.5 * at^2 + v(t) + x 
a = acceleration = -9.81 m/s 
t = time (in seconds) = 10 
v = initial velocity 
x = initial position 

Defalarca denedim ama aldığımız cevap 4811.805000000001 olduğunu ettik ama görünüşe göre doğru cevap -490.5m olduğunu.

public class GravityCalculator2 { 
    public static void main(String[] args) { 
     double gravity = -9.81; 
     double fallingTime = 10; 
     double initialVelocity = 0.0; 
     double initialPosition = 0.0; 
     double x; 
     x = (0.5 * ((gravity * fallingTime) * (gravity * fallingTime)) 
      + (initialVelocity * fallingTime) + (initialPosition)); 
     System.out.println(x); 
    } 
} 

yanlış ne yaptı:

Bu benim girişimidir?

+0

Hesap kodunuzu yayınlayabilir misiniz, böylece nerede yanlış gittiğinizi görebiliriz? – Aderis

+5

Yerçekimi sabitini karelersiniz, yanlış yaptığınız şey budur. –

cevap

2

4811'i almanızın sebebi, hem yer çekiminden kaynaklanan ivmeyi hem de ilk teriminizdeki zamanın ikiye katlanmasıdır. Sadece zamana karışma ve daha sonra yerçekimi ve 0.5'e bağlı hızlanma ile çarpmanız gerekiyor. Operasyonların sırasını hatırla. Ayrıca yerçekimi nedeniyle ivmelenme negatiftir, dolayısıyla 9.81 yerine -9.81 olmalıdır. Eğer ile başlayan neyi

x(t) = 0.5 * at^2 + v(t) + x 

ama yukarı kodlanmış:

7

Sen formülü yanlış yukarı kodlu operasyon

x(t) = 0.5 * (at)^2 + v(t) + x 

Sipariş önemlidir!

24

Eğer kod, bu denklem değerlendirmek Ürün:

x (t) = 0.5 + x

+ v (t) (en) gerektiği * değerlendirilmesi gereken:

x (t) = 0.5 * a (t) + v (t) + x

Matematik gösteriminin normal olarak anlaşılması, üslenme işleminin çoğaltmadan daha sıkı bağlanmasıdır.