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.