import cs1.Keyboard; public class Pi3 { private static double termValue(int term) { return 4.0/(2.0 * term - 1.0); } public static void main(String[] args) { System.out.println("This program estimates PI using an infinite series."); System.out.println("Enter minimum term size, e.g. 0.001"); double epsilon = Keyboard.readDouble(); int term = 1; double sum = 0.0; double tn; do { tn = termValue(term); if (term % 2 == 0) tn = -tn; // even terms are negative sum += tn; // System.out.println("term=" + term + "\t" + "value=" + tn + "\t" + "PI=" + sum); term++; } while (Math.abs(tn) > epsilon); System.out.println("PI=" + sum); } }