我正在构建自己的函数来计算Cosinus作为泰勒级数。 不幸的是,代码不会执行大于1的数字。 我知道这个问题还有很多其他例子,但是对于我自己的java知识,我想知道问题出在哪里。
public class Cosinus {
public static double cos(double x) {
double sum = 0.0;
for (int i = 0; i <= Double.POSITIVE_INFINITY; i++) {
double summand = (Math.pow(x, 2 * i) / fak(2 * i)) * Math.pow((-1), i);
if (Math.abs(summand) >= 0.001) {
sum += summand;
} else {
break;
}
}
return sum;
}
private static double fak(int i) {
int ergebnis = 1;
for (int count = 1; count <= i; count++) {
ergebnis = count * ergebnis;
}
return ergebnis;
}
public static void main(String[] args) {
System.out.println(cos(10.0));
}
}