The completed program is given below
In the completed program,
the roles of "oldGuess" and of "newGuess" can both be played
by the variable guess.
class SquareRoot
{
public static void main( String[] args )
{
final double smallValue = 1.0E-14 ;
double N = 3.00 ;
double guess = 1.00 ;
while ( Math.abs( N/(guess*guess) - 1.0 ) > smallValue )
{
// calculate a new value for the guess
guess = N/(2*guess) + guess/2 ;
}
System.out.println("The square root of " + N + " is " + guess ) ;
}
}
Here is the output of the program:
C:JavaLessons\chap19>java SquareRoot The square root of 3.0 is 1.7320508075688772
The last several digits of this output are probably in error since the program only computes 14 decimal places of accuracy.