CS 1063  Lab 9:  Designing and Implementing a Class using the while Loop

The  NewtonsSquareRoot Class

Objectives

Hand-in Requirements

All projects and laboratories will be submitted electronically through webCT.  Zip up your entire project directory to submit as the source.  (Right click on the project folder and follow the SentTo link.)  The project directory should include the following:

Details

To approximate the square root of a positive number n using Newton's method, you need to make an initial guess at the root and then refine this guess until it is "close enough."  Your first initial approximation should be root = 1;.  A sequence of approximations is generated by computing the average of root and n/root.

Use the constant:

private static final double EPSILON = .00001;

Your loop for findSquareRoot should behave like this:

make the initial guess for root
while ( EPSILON < absolute value of the difference between root squared and n )
    calculate a new root
return root

Your class should have a constructor that takes the number you want to find the square root of.  Implement the usual accessor method(s) and a findSquareRoot method that uses Newton's method described above to find and return the square root of the number.  Add a method setNumber that takes a new number that replaces the number in the instance field.  Supply a toString method that returns a string containing the number and the square root of the number.

Your test class should: