프로그램의 전체 목적 :은 우리 태양계의 9 개 행성 각각에 대한 표면 중력 (g)을 결정합니다.제발, Java, 차트 내에서 계산 된 결과를 출력 하시겠습니까?
(나는 알고 있습니다 ... 명왕성은 행성이 아니지만이 프로그램에 있습니다.)
문제 : 프로그램에서 차트를 만들고 표면 중력을 계산합니다. 서식 지정을 올바르게하는 데 도움이 필요합니다.이 서식은 열에 정렬해야합니다. 또한이 문제를 해결하는 과정에서 나는 행성 중 오직 하나의 행성에 대해 계산 된 표면 영역을 인쇄하도록 프로그램을 엉망으로 만들었습니다.
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
!
중간에 공간을 두는 방법을 제외하고 둘 다 너무나 감사합니다. 첫 번째 줄은 다음과 같습니다 (한 줄에 모두 표시) : Mercury 4880000.0 3.3000e + 233.697090835796829000000 –
"숫자를 올바르게 사용하려면 재생하십시오"- "% 10.10f \ n"등 – arkonautom
나는 그 (것)들과 놀지 않았다는 것을 나는 짐작한다 충분히, "% 26.10f \ n"은 완벽했습니다. 다시 감사합니다 –