2014-09-26 18 views
0

我一直在這方面工作很長時間,對於我的生活,我無法弄清楚爲什麼天王星的surfGrav值會被輸出爲這樣數量可觀。基本上,該程序基於行星質量和半徑生成表面引力。這只是天王星的價值;一切都很好。我已經加倍與谷歌的價值檢查,但無濟於事。 此外,這是爲我的計算機科學課程,所以我不能只是修改utput是我想要的,我必須解決我已經有的。 木星的價值應該遠遠低於木星的價值。 感謝您的幫助!一個數組中的單個值沒有用函數正確解析

import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.PrintWriter; 

public class GravityV1 
{ 

public static String[] planets = {"Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"}; 

public static int[] radii = {2439000, 6052000, 6378000, 3397000, 71492000, 60268000, 2559000, 24764000}; 

public static double[] mass = {3.30E+23, 4.87E+24, 5.98E+24, 6.42E+23, 1.90E+27, 5.69E+26, 8.68E+25, 1.02E+26}; 

public static double constantGrav = 6.67E-11; 

public static double a; 

//constructors 
private static PrintWriter outFile; 

//main method 
public static void main (String[] args) throws FileNotFoundException 
{ 
    outFile = new PrintWriter(new File("gravity1.txt")); 
    System.out.println("      Planetary Data       "); 
    System.out.println("Planet   Diameter(km)  Mass(kg)   g (m/s^2) "); 
    System.out.println("-----------------------------------------------------------------"); 
    for(int i = 0; i < planets.length; i++){ 
     double surfGrav = surfGrav(i); 
     System.out.printf("%8s%15d%20.2e%16.4f%n", planets[i], (2 *radii[i]), mass[i], surfGrav); 
     txtGrav(i); 
    } 
    outFile.close(); 
} 

//this method requires the planet as input. Then it will output and calculate the surface gravity 
public static double surfGrav (int planet) 
{ 
    return (constantGrav * mass[planet])/(Math.pow(radii[planet], 2)); 
} 
//print output to text file too 
public static void txtGrav (int arrayInput) throws FileNotFoundException 
{ 
    a = (surfGrav(arrayInput)); 
    if (arrayInput == 2) { 
     a = Math.round(a); 
    } 
    outFile.printf("%.2f%n", a); 
} 

} 

Output:   
g (m/s^2) 

3.7001 
8.8686 
9.8052 
3.7108 
24.7950 
10.4488 
884.1073 <--- what 
11.0939 

回答

0

我想你錯過了天王星的半徑一個025590000。 (儘管這個值與我在Internet上可以找到的有些不同)。

+0

我甚至無法開始證明我的數學中這個愚蠢的錯誤。感謝一羣人指出了這一點。我真的需要睡覺... – LordValkyrie 2014-09-26 01:53:02

相關問題