问题
问答题
请完成下列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()方法来进行绝对值的比较。