问题
问答题
请完成下列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
i=4 s=0.625
i=5 s=0.6333333333333333
i=6 s=0.6319444444444444
public class ex1_1
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()方法来进行绝对值的比较。