次の割り当てが与えられましたが、コードが機能しません。質問は:
while または do-while ループを使用して、次の式を使用して PI を計算するプログラムを作成します。 PI = 3 + 4/(2*3*4) - 4/(4*5*6) + 4/(6* 7*8) - 4/(8*9*10) + ... 計算で使用する項の数 (5 つの項が示されています) をユーザーが指定できるようにします。ループを回るたびに、PI の推定値に項を 1 つだけ追加する必要があります。
これは私がこれまでに持っているコードです: import java.util.Scanner; import javax.swing.JOptionPane; java.lang.Math をインポートします。
public class LabFriday25 {
public static void main(String[] args) {
    String termInput = JOptionPane.showInputDialog(null, "How many terms of 
                                 PI would you like?");
    Scanner termScan = new Scanner (termInput);
        double termNum = termScan.nextDouble();
        double pi = 3;
        int count = 0;
        double firstMul = 2;
        double secMul = 3;
        double thirdMul = 4;
        double totalMul = 0;
                while (count<= termNum)
                {
                    if (termNum==1)
                    {
                        pi = 3.0;
                    }
                    else if (count%2==0)
                    {
                        totalMul= (4/(firstMul*secMul*thirdMul));
                    }
                    else
                    { 
                       totalMul = -(4/((firstMul+2)*(secMul+2)*(thirdMul+2)));
                    }
                pi = pi + (totalMul);
                firstMul = firstMul + 2;
                secMul = secMul + 2;
                thirdMul = thirdMul + 2;
                //totalMul = (-1)*totalMul;
                count++;
            }
        JOptionPane.showMessageDialog(null, "The value of pi in " + termNum + " terms is : " + pi);
    }
}
コードが Pi の 3 項以上に対して正しい値を返さない理由がわかりません。毎回同じ値を返し続けます。
編集: while ステートメントの末尾からセミコロンを削除したところ、コードはユーザーが入力した任意の数の用語に対して値 3.0 を返しています。どこが間違っていますか?
EDIT2: while ループから条件を削除しました。正解に近づいていますが、まだ十分に正確ではありません。これを修正して正しい答えを得るにはどうすればよいですか?