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