Hacía tiempo que no me pasaba por aqui, y bueno ahora estoy empezando con el java en un curso y de momento me las apaño bastante bien. De hecho lo hago casi todo solo, pero llevo todo el dia atrapado con este problema.
/*
El periodo orbital de un planeta o satelite es el tiempo que tarda en dar
una vuelta completa alrededor de un cuerpo central.
Se puede calcular mediante la tercera ley de kepler a partir de la masa
del cuerpo central, el semieje mayor de la órbita eliptica ( o el radio
si la órbita es circular ) y la constante G de gravitacion universal.
Hacer un programa que pida los dos primeros datos y calcule el periodo
orbital segun esta ley.
Tener en cuenta las unidades utilizadas.
Consultar : http://es.wikipedia.org/wiki/Leyes_de_Kepler
Salida del programa
-------------------------------------------
Entra la masa en kg. del cuerpo central : 5.97E24
Entra el semieje mayor ( o radio ) en km. : 384400
El periodo orbital es de 27.42 dias*/
import java.io.*;
public class P06_PeriodoOrbital {
static final double G = (6.67*(Math.pow(10,-11)));
public static void main(String args[]) throws IOException {
BufferedReader entrada = new BufferedReader(
new InputStreamReader(System.in));
System.out.print("Entra la masa en kg. del cuerpo central :");
double m = Double.parseDouble(entrada.readLine());
System.out.print("Entra el semieje mayor ( o radio ) en km. :");
double r= Double.parseDouble(entrada.readLine());
// sabemos que la formula es : T^2= 4PI^2 * r^3 / G*M
double c= (4*Math.pow(Math.PI,2));
double d= Math.pow(r,3);
double e= G*m;
double f= c*d/e;
double t= Math.sqrt(f);
double h= t/3600;
double i= h/24;
System.out.printf("%f",t);
}
}
el caso es que no me da el periodo que representa debería darme. Pero lo extraño del caso es que ni siquiera me da haciendolo con la calculadora, pero esto lo ha hecho el profe así que se supone que tiene que estar bien ... a ver si alguno me puedo ayudar.
gracias!!