问题 问答题

请完成下列Java程序:计算下列级数之和,直到该项之绝对值小于0.001为止。
S=1/1!-1/2!+1/3!-1/4!+···
注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。
程序运行结果如下:
i=1 s=1.0
i=2 s=0.5
i=3 s=0.6666666666666666
1=4 s=0.625
i=5 s=0.6333333333333333
1=6 s=0.6319444444444444
public class ex28_2
public static void main(String[] args)
double s=0.0,sign=-1.0,t,f=1.0;
for(int i=1;;i++)
f=f*i;
____________;
t=sign/f;
if(__________)
break;
s=s+t;
System.out.println("i="+i+" s="+s);


答案

参考答案:
sign=-sign
Math.abs(t)<0.001

解析:
本题主要考查for循环和条件语句控制程序流程。解题关键是会根据公式写出相应的算法解决问题。本题中,第1个空,由于公式里每一项的符号都是交替变化的,所以这里需要改变符号;第2个空,判断是否中断循环的条件,需要用Math.abs()方法来进行绝对值的比较。

单项选择题
单项选择题