2011-01-20 4 views
1

자바 튜토리얼에서 enum을 사용하여 샘플 프로그램을 사용해 보았습니다. 코드에 대한 올바른 결과를 얻을 수 없었습니다. 문제는 코드에 대한 내 이해와 관련이 있다고 생각합니다. 누구든지 올바르게 해석 할 수 있습니까? 대부분의 코드를 이해했지만 사용법을 확인하고 싶습니다. 프로그램의 코드 조각을 다음enum을 사용한 프로그래밍

if (args.length != 1) 
{ 
System.err.println("Usage: java Planet <earth_weight>"); 
System.exit(-1); 
} 

내 출력 것은 : 당신이 일을 제공하지 않기 때문에

public enum EnumPlanet { 

    MERCURY (3.303e+23, 2.4397e6), 
    VENUS (4.869e+24, 6.0518e6), 
    EARTH (5.976e+24, 6.37814e6), 
    MARS (6.421e+23, 3.3972e6), 
    JUPITER (1.9e+27, 7.1492e7), 
    SATURN (5.688e+26, 6.0268e7), 
    URANUS (8.686e+25, 2.5559e7), 
    NEPTUNE (1.024e+26, 2.4746e7); 

    private final double mass; // in kilograms 
    private final double radius; // in meters 
    EnumPlanet(double mass, double radius) { 
     this.mass = mass; 
     this.radius = radius; 
    } 
    private double mass() { return mass; } 
    private double radius() { return radius; } 

    // universal gravitational constant (m3 kg-1 s-2) 
    public static final double G = 6.67300E-11; 

    double surfaceGravity() { 
     return G * mass/(radius * radius); 
    } 
    double surfaceWeight(double otherMass) { 
     return otherMass * surfaceGravity(); 
    } 
    public static void main(String[] args) { 
     if (args.length != 1) { 
      System.err.println("Usage: java Planet <earth_weight>"); 
      System.exit(-1); 
     } 
     double earthWeight = Double.parseDouble(args[0]); 
     double mass = earthWeight/EARTH.surfaceGravity(); 
     for (EnumPlanet p : EnumPlanet.values()) 
      System.out.printf("Your weight on %s is %f%n", 
          p, p.surfaceWeight(mass)); 
    } 
} 

답변

2

당신이 출력을 얻을 :

Usage: java Planet <earth_weight> 

다음은 내 코드입니다 올바른 양의 주장.

java Planet 1 
+1

''자바 플래닛 1 '을 의미합니까? Java는 거의 exe로 컴파일되지 않습니다. –

+0

네, 맞습니다. –

+0

감사합니다. Fredrik ..... 나는 명령 프롬프트에서 'java EnumPlanet 75'를주었습니다 .. 예상 된 출력을 얻었습니다 .....하지만 Eclipse IDE에서 어떻게 제공 할 수 있습니까? – vidhya

0

당신은이 땅에서 당신의 체중 인 인수를 제공해야보십시오.

그 이외의 인수는 1과 다르고 프로그램에서 도움말을 출력합니다.

+0

인수는 다음과 같습니다. 행성 번호가 아닌 지구에서 얼마나 체중이 많이 나는지. –

+0

@ MarvinLabs : 당신은 완전히 옳다, 나는 잘못 대답했다. 내 대답을 고쳐 주셔서 고마워요. – LaGrandMere

2

지구상의 무게를 나타내는 인자를 제공해야합니다. 71.5 kg이라고 가정합니다. 그런 다음 프로그램을 실행해야합니다

java Planet 71.5 
+0

고마워요. Nick ... 그것은 효과가 ... – vidhya

1

프로그램 명령 줄에서 체중을 kg로 나눠야합니다. 예 : java.exe Planet 75 (체중 75kg 가정). 출력은 중력에 따라 다른 행성에 얼마나 비중을 둘 것인가입니다.

관련 문제