私の例では Math.PI を使用しているため、double です。これは単純なコードですが、どうすればよいかわかりません。
ユーザーが指定した乗数値を使用して、関数または関数の基本周期を計算するコードがX必要です。値は で初期化され、整数値です。sincosann=1
の結果(2 * pi * n)/a = Xがそれよりも小さい場合piはnインクリメントする必要があり、その数が の倍数になるまで継続する必要がある場合はpi、結果を出力します。
明確にするために:関数または次のようなa乗数です:xsincos
cos(ax)
sin(ax)
私が問題を抱えているビットは、数値が の倍数であるかどうかを調べることですpi(それが既に より大きい場合pi)。
これは私が得た限りであり、不完全です。
public void printSinusoidalPeriod(double multiplier /* this would be `a` */){
double pi=Math.PI;
double p = (2 * pi * (double) n) / multiplier;
while(p<pi){
if(n%pi==0){
n=n+1;
System.out.println(n);
p = (2 * pi * (double) n) / multiplier;
}
}
p= (double)Math.round(p * 100) / 100;
System.out.println("period of function is = " + p + " and n = " + n);
}
if 文に入らず、while ループに巻き込まれてしまっているようです