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:\users\default\JavaLessons/chap16>java squareRoot Symantec Java! JustInTime Compiler Version 210.063 for JDK 1.1.3 Copyright (C) 1996-97 Symantec Corporation 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.