-2
賦值爲 以下方法可用於近似Pi的值:Pi/4 = 1-(1/3)+(1/5) - (1/7)+(1/9) - (1/11)+ ...Pi迭代,顯示用戶輸入的pi的迭代次數
編寫一個程序,允許用戶指定在此近似值中使用的迭代次數並顯示近似值的Pi。測試程序的小,中,大量的迭代。
它編譯但它沒有給我我想要的答案。例如,當我輸入1時,它會給我1/3而不是8/3。當我幾乎任何其他號碼,它只是錯誤,我不能得到任何輸出。
import java.util.*;
import java.io.*;
public class LabFiveUnitFour {
public static void main(String[] args) {
double n, pi=1, count=1, amount;
Scanner input = new Scanner(System.in);
System.out.println("How many pi iterations do you want?");
amount = input.nextDouble();
n = amount;
do {
pi = ((Math.pow(-1, n))/(2 * n + 1));
} while (!(count == amount));
{
n = n - 1;
pi = pi + ((Math.pow(-1, n))/(2 * n + 1));
count++;
}
pi = 4 * (1 - pi);
System.out.println(pi + "");
}
}
你有一個do-while循環和一個while循環的奇怪混搭。你想做什麼? – azurefrog
通常,執行固定次數的循環由'for'循環處理。 – 4castle
你爲什麼要將計數/數量定義爲雙打?你只是將它們用作整數。允許'2.3'迭代沒有任何意義。 –