Sinus Berechnung

Testen Sie Ihre Methode, indem vom Anwender der Wert x abgefragt und eingegeben wird. Anschließend wird die Methode aufgerufen und das Ergebnis auf der Standardausgabe angezeigt.

import java.util.Scanner;

public class Sinus {

    public static double sin(double x) {
        double zaehler = x;
        double nenner = 1.0;
        double summe = x;
        double summand = 1;
        for (int i = 3; summand > 1E-15 || summand < -1E-15; i = i + 2) //Weil der 2. Summand bei der Summenreihe x^3 ist -> i=3
        {
            zaehler = zaehler * x * x * (-1);
            nenner = nenner * i * (i - 1);
            summand = zaehler / nenner;
            summe = summe + summand;
        }
        return summe;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner (System.in);
        System.out.println("Geben Sie ein Wert für x ein: ");
        double x = scanner.nextDouble();
        System.out.println(sin(x));
        System.out.println(Math.sin(x));
        scanner.close();
    }
}

Was sagt Ihr? Also die Ergebnisse sind alle richtig…

Bitte verwende Code-Formatierung im Forum, sonst ist das kaum lesbar (gibt verschiedene Methoden, z.B. einfache Backticks für Inline-Code und dreifach Backticks für Code-Blocks). Ich habe das jetzt mal gefixt, macht aber auf Dauer keinen Spaß.

Der Code sieht soweit ganz gut aus. summand > 1E-15 || summand < -1E-15 kann man zu Math.abs(summand) > 1E-15 zusammenfassen.

Mach ich, bin leider noch neu hier.
Wie kann man das genau zusammenfassen?

Ich denke, dass hat @Landei bereits geschrieben. Es ist nur eine andere Schreibweise. Du ersetzt einfach die entsprechende Codezeile.