Kurze Info zur Aufgabe:
Meine Frage ist zu pi3(double eps), wie löse ich das ganze in der Schleife?
Das ganze ist ja eine Annäherung, also muss meine Schleife solange laufen bis ich in dem Wertebereich zwischen Math.PI - eps und Math.PI + eps bin. Richtig soweit?
Zweite Frage zu wenn kein Argument übergeben wird, sei eps = 0.000000001. (Hinweis Überladen), wie mach ich das am besten? Und wie sieht dann die Main Anweisung dazu aus?
Hier der Code Schnipsel:
Meine Frage ist zu pi3(double eps), wie löse ich das ganze in der Schleife?
Das ganze ist ja eine Annäherung, also muss meine Schleife solange laufen bis ich in dem Wertebereich zwischen Math.PI - eps und Math.PI + eps bin. Richtig soweit?
Zweite Frage zu wenn kein Argument übergeben wird, sei eps = 0.000000001. (Hinweis Überladen), wie mach ich das am besten? Und wie sieht dann die Main Anweisung dazu aus?
Hier der Code Schnipsel:
Java:
public static double pi2(double eps) {
int i = 0;
double summand;
double pi = 0.0;
do {
summand = Math.pow(-1, i) / (2 * i + 1);
i++;
pi += summand;
} while (Math.abs(summand) > eps);
return 4 * pi;
}
public static void pi2() {
pi2(0.00000001);
}
public static double pi3(double eps) {
double piViertel = (Math.PI / 4);
int i = 0;
double summand;
double pi = 0.0;
do {
summand = Math.pow(-1, i) / (2 * i + 1);
i++;
pi += summand;
} while (pi > (piViertel + eps) & pi < (piViertel - eps));
//System.out.println((Math.PI / 4));
//System.out.println((piViertel + eps));
//System.out.println((piViertel - eps));
return pi; // Ja den müsste ich dann mit 4 Multiplizieren zu testen hatte ich aber so gelassen.
}