2011-01-20 9 views
1

私は、enumを使ってJavaチュートリアルからサンプルプログラムを試していました。私はコードの正しい出力を得ることができませんでした。私は問題がコードの私の理解であると思います。誰も私を正しく解釈するのを助けてください。私はコードの大部分を理解しましたが、プログラムのコードの一部、以下:enumを使ったプログラミング

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

私の出力は、次のとおりです。

Usage: java Planet <earth_weight> 

以下は、私のコードです:

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

あなたが目を供給されていないため、この出力を得ます正しい議論量。

はあなたが地球上であなたの体重である引数を、提供する必要が

java Planet 1 
+1

「Java Planet 1」を意味しますか? Javaはほとんどexeにコンパイルされていません。 –

+0

はい、正しいです。 –

+0

ありがとうFredrik .....私は、コマンドプロンプトから 'java EnumPlanet 75'を与えました.i予想される出力を得ました.....しかし、私はEclipse IDEからどのように与えるのでしょうか? – vidhya

0

を試してみてください。

それ以外の引数は1とは異なり、プログラムからヘルプが出力されます。

+0

引数はあなたが地球上でどのくらい重くて、惑星の数ではないか。 –

+0

@MarvinLabs:あなたはまったく正しい、私は誤解、私の答えを訂正してくれてありがとう:) – LaGrandMere

2

地球上の重量を表す引数を指定する必要があります。これが71.5kgであったとします。次にプログラムを実行する必要があります

java Planet 71.5 
+0

ありがとうニック...それは働いた... – vidhya

1

プログラムのコマンドラインで体重をキログラム単位で入力する必要があります。例:java.exe Planet 75(体重75キロと仮定)。出力は重力に応じて他の惑星でどのくらい重くなるかの出力になります。

関連する問題