[问答题] 请完成下列Java程序:计算下列级数之和,直到该项之绝对值小于0.001为止。 S=1/1!-1/2!+1/3!-1/4!+… 注意:请勿改动main()主方法和其他已有语句内容,仅在

17 查阅

[问答题] 请完成下列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=-signMath.abs(t)<0.001

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

计算机考试