Aşağıdali örnek çok güzel anlatıyor:
package planets;
enum Planet {
// parantez içindeki parametreler
// yapıcı metoda parametre olarak atanır
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
Planet(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");
System.exit(-1);
}
double earthWeight = Double.parseDouble(args[0]);
double mass = earthWeight/EARTH.surfaceGravity();
for (Planet p : Planet.values())
System.out.printf("Your weight on %s is %f%n",
p, p.surfaceWeight(mass));
}
}
Bu da sonucu(179 verirsek giriş değeri olarak:
run:
Your weight on MERCURY is 67,618613
Your weight on VENUS is 161,994839
Your weight on EARTH is 179,000000
Your weight on MARS is 67,793956
Your weight on JUPITER is 452,969797
Your weight on SATURN is 190,816781
Your weight on URANUS is 162,017769
Your weight on NEPTUNE is 203,760725
BUILD SUCCESSFUL (total time: 0 seconds)
Hiç yorum yok:
Yorum Gönder