问题 问答题

请完成下列Java程序。程序的功能是利用迭代法求一个数的平方根(求平方根的迭代公式为: Xn+1=1/2(Xn+a/Xn))。 注意:请勿改动main()主方法和其他已有的语句内容,仅在下划线处填入适当的语句。 源程序代码文件清单如下: public class PingFangGen { public static void main(String args[ ]) { System.out.println(Math.sqrt(2.0)); } static double sqrt(______) { double x=1.0; do{ ______; } while(Math.abs(x*x-a)/a>1e-6); return x; } }

答案

参考答案:

解析:double ax=(x+a/x) 本题主要考查do-while循环语句及Java的基本运算。解答本题需要对do-while循环语句的用法熟练。do-while循环又称“直到型”循环,它的一般格式为:[初始化部分]do{循环体部分;迭代部分;}while(判断部分)。说明如下:①do-while结构首先执行循环体,然后计算终止条件,若结果为true,则循环执行大括号中的语句或代码块,直到布尔表达式的结果为 false。②与while结构不同的是,do-while结构的循环至少被执行1次,这是“直到型”循环的特点。在本题中,double a语句是定义一个double型变量a,x=(x+a/x)的功能是迭代求出被开方的变量。

单项选择题
多项选择题