プログラムの全体的な目的:太陽系の 9 つの惑星それぞれの表面重力 (g) を決定します。
(わかってる、わかってる... 冥王星は惑星じゃないけど、このプログラムにはある)。
問題: プログラムがチャートを作成し、表面重力を計算します。フォーマットを正しくするためのサポートが必要です。列に並べる必要があります。また、これを修正しようとしている過程で、私は何らかの形でプログラムを台無しにして、惑星の 1 つだけの計算された表面積を出力するようにしました。
import java.io.IOException;
import java.io.PrintWriter;
import java.io.File;
public class GravityV1
{
//print the data
public static void printResults(String[] names, double[] diameter, double[] mass, int x);
{
System.out.printf("%-10s%21.1f%20.4e\n",names[x],diameter[x],mass[x]);
}
//calculate the surface gravity
public static double calcGravity(double[] m, double[] d)
{
double gravity = 0.0;
for (int i= 0; i < 9; i++) {
gravity = (((6.67E-11) * (m[i])) / (Math.pow(d[i] / 2, 2)));
}
return gravity;
}
//main method
public static void main (String [ ] args)
{
double[] mass = { 3.30E23, 4.869E24, 5.972E24, 6.4219E23, 1.900E27, 5.68E26, 8.683E25, 1.0247E26, 1.27E22 };
double[] diameter = { 4880000, 12103000.6, 12756000.3, 6794000, 142984000, 120536000, 51118000, 49532000, 2274000 };
String[] names = { "Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune", "Pluto" };
System.out.printf("%-7s%20s%20s%25s\n","Planet Name","Diameter","Mass(kg)", "g (m/s^2)"); System.out.println("=============================================================================");
for (int x = 0; x < 9; x++) {
printResults(names, diameter, mass, x);
double surfaceGravity = calcGravity(mass, diameter);
System.out.println(surfaceGravity);
}
System.out.println();
}
}
現在、出力は次のようになっています。
Planet Name Diameter Mass(kg) g (m/s^2)
=============================================================================
Mercury 4880000.0 3.3000e+23
0.655252407816091
Venus 12103000.6 4.8690e+24
0.655252407816091
Earth 12756000.3 5.9720e+24
0.655252407816091
Mars 6794000.0 6.4219e+23
0.655252407816091
Jupiter 142984000.0 1.9000e+27
0.655252407816091
Saturn 120536000.0 5.6800e+26
0.655252407816091
Uranus 51118000.0 8.6830e+25
0.655252407816091
Neptune 49532000.0 1.0247e+26
0.655252407816091
Pluto 2274000.0 1.2700e+22
0.655252407816091
どんな助けでも大歓迎です!