Hier ist mein Code:Sine der Nummer mit Taylor Series java
import java.util.Scanner;
public class TaylorSeries{
public static int factorial(int num){
if(num == 0) return 1;
return num * factorial(num -1);
}
public static void main(String args[]){
Scanner scanner=new Scanner(System.in);
System.out.println("Enter the number:");
int num = scanner.nextInt();
boolean op_checker = true;
int denom = 0;
double numrad = num * (2 * Math.PI/360);
double sum = 0;
for(int counter = 0; counter < 4; counter++){
denom = counter * 2 + 1;
if(op_checker)
sum += Math.pow(numrad,(double)denom)/factorial(denom);
else sum -= Math.pow(numrad,(double)denom)/factorial(denom);
op_checker = op_checker ? false : true;
System.out.println(sum);
}
System.out.printf("%.4f",sum);
}
}
Das Problem ist, dass die Werte, die ich bekommen sind falsch, wenn die Zahl sehr nahe 90 und darüber hinaus ist. Kann mir jemand helfen zu verstehen, was vor sich geht?
Alles klar, danke. Ich habe die Frage aktualisiert. Ich würde deine Antwort darauf schätzen. – Ayo