Explicación de Enum y For Each

4fires
31 de Agosto del 2009
Saludos,

Estudiando Enums me encontre con un ejemplo, que aunque corre bien, no entiendo del todo algunas cosas.
Este es el código
public enum Planet {
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),
PLUTO (1.27e+22, 1.137e6);

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) {
double earthWeight = Double.parseDouble("70");
double mass = earthWeight/EARTH.surfaceGravity();
for (Planet p : Planet.values())
System.out.printf("Your weight on %s is %f%n",
p, p.surfaceWeight(mass));
}
}

Lo que quiero saber es cómo funcina System.out.printf("Your weight on %s is %f%n",
p, p.surfaceWeight(mass));
}
ya que no entiendo bien el %s y %f

Mil gracias.

edi123456
31 de Agosto del 2009
pff esta facilillo el ejemplo mira lo que del "Printf"
sirve para imprimir con un formato ke tu le des namas busca en google o en un buscador la funcion de "Printf" te dare un ejemplo:
System.out.printf("%st%d","El Numero es",10);
fijate en el %s significa ke le vas a mandar un String
en este caso seria "El Numero es"
despues el t es para asignar un espacio, despues
el %d 10 significa ke le vas a mandar un digito
es como parametros ke le vas a mandar y los tienes ke separar por comas espero aver resolvido tu duda
oie de paso eske estoy viendo lo mismo ke tu (enum)
y le entiendo al codigo pero lo que no se es para ke rayos me sirven para ke los puedo utilizar? si son datos fijos espero y me puedas ayudar