英语翻译这是一个java编程题,题目是英文的,想要翻译,如果能完成程序编写,追加100分Pi can be calculated using the following sum,which is an approximation to Pi/4 :PiSum = 1 - 1/3 + 1/5 - 1/7 + ...+ (-1)^n / (2*n + 1)1) Write two methods that return PiSum for a specified value of n,one methodusing recursion and the other using iteration to do the sum.Hint:instead of calculating (-1)^n,you can check whether the nth term isnegative by checking whether n%2 (i.e.n modulo 2) is 1.Assume that the

问题描述:

英语翻译
这是一个java编程题,题目是英文的,想要翻译,如果能完成程序编写,追加100分
Pi can be calculated using the following sum,which is an approximation to Pi/4 :
PiSum = 1 - 1/3 + 1/5 - 1/7 + ...+ (-1)^n / (2*n + 1)
1) Write two methods that return PiSum for a specified value of n,one method
using recursion and the other using iteration to do the sum.
Hint:instead of calculating (-1)^n,you can check whether the nth term is
negative by checking whether n%2 (i.e.n modulo 2) is 1.
Assume that the methods are always called with a non-negative value of n,so you
don't need to worry about dealing with invalid parameter values.
2) Show the additional code you would add to the above methods to throw an
exception if n is less than zero (you don't need to rewrite the whole method).The
exception handler should generate an error message saying that the number of terms
in the sum must not be negative.
Write a code fragment (i.e.it doesn't need to be a complete method) that invokes
one of the methods for calculating Pi and prints out the result if the method returns
correctly,or else catches an exception and prints out the error message returned.
3) When calculating Pi using the given formula,suppose that instead of passing a
parameter specifying the number of terms n in the sum,we instead want to pass a
parameter that specifies a precision value.The sum should terminate at the first value
n for which the absolute value of the nth term in the sum,i.e.1/(2*n+1) is less than
the specified precision.Show how this can be implemented using a do loop.

我有一个类似的代码.将就着用把大概意思是一样的只是没有异常处理public class a2and5{public static void main(String [] agrs){int count=0;double pi=0.0,l=1.0,diff,pi1;diff=1;while(Math.abs(diff)>0.01){ pi1...