import java.util.*;
import java.math.*;
public class SinCos{
public static void main(String args[]){
Scanner kb=new Scanner(System.in);
System.out.println("Enter the angle for cosine: ");
double anglecos=kb.nextDouble();
System.out.println("Enter the number of expansions required:");
int n=kb.nextInt();
System.out.println("Enter the angle for sine:");
double anglesin=kb.nextDouble();
System.out.println("Enter the number of expansions required:");
int n2=kb.nextInt();
System.out.println("Cosine: "+workCos(anglecos,n));
System.out.println("Sine: " +workSin(anglesin,n2));
}
public static double workCos(double angle, int num){
double ans=0;
int times;
for(int k=0;k<=num;k++){
times=(2*k);
ans=(ans + ((Math.pow(-1,k)*Math.pow(angle,times))/(fact(times))));
}
return ans;
}
public static double workSin(double angle, int num){
double ans=(angle*Math.PI)/180;
int times;
for(int k=0;k<=num;k++){
times=(2*k)+1;
ans=(ans + ((Math.pow(-1,k)*Math.pow(angle,times))/(fact(times))));
System.out.println(ans);
}
return ans;
}
public static int fact(int num){
if(num==0||num==1){
return 1;
}
else{
return num* fact(num-1);
}
}
}
在上面的代碼中,我試圖計算正弦和餘弦。但是我 得不到正確的結果。這似乎完全合乎邏輯。要做到這一點,我是使用泰勒系列的 。你能告訴我我的 代碼有什麼問題嗎?計算正弦和餘弦
和輸入參數值? – Bathsheba
「我沒有得到正確的結果」是非常不明確的。請嘗試調試代碼。 – f1sh
輸入是角度和系列展開的次數 – chris